2013年6月13日 19:58:29


人人都可以是嘴巴选手..至于真正去做到的,有几个?

如若走出校门了你的脾性还比较恶劣,你以后社会上也就那样了..

今下午个班会,看到上去演讲的同学们个个都说得头头是道,都有道理,都想的应该把学习好行抓起,但是自己实际做到了哪些呢?我就只能呵呵了..

"我知道我学得差..""那么你可以回去少耍点游戏噻?""这个没办法,心头这样想的话肯定以后就慢慢改了噻"(这还不气人么,不过也不是咱能管的事是吧)

倒是其中一个女同学的想法讲到我心了,下来自己花了大量时间,却收获甚少,自然会让人气馁的,题方面,做又做不来,真要磨在这,好浪费时间..她也说过烂笔头比电脑上打字的重要性,这个我早也前面也说过,我不是甚至写完了字还能电视上也把字打出来么,现在讲课情况不行了,老师好多的快捷出来的代码,笔头怎么能记那么快?连电脑上打字关键点都有时候听老师入迷了而忘记记了,那就必须下来总结好关键点了,不然后面忘记了就麻烦了呢~

不过稍微感到欣慰的是,今晚咱小组还是开始讨论下当天讲课了,不像以往几乎只能听到游戏声的,虽然明天咱班例行修息一天(现在我们的课程安排是为了更好的利用机房,有俩个班以平时轮休两天周末上课的方式进行课程的)

话说今天好好个感叹啊,老师终于以带着我们实现各步骤的方式讲课了一天!

从来没说过我这是专业博文吧?我这不是写的日记?既然是日记,难道不是写个人生活感受么?咱绝对不去做那死板之人,这类人,我看着难受~

嗯听课思想的话先就这些吧,下面写下今天讲的内容和自定义适配器吧~

 

笔记内容:

关键是看别人是怎么做的notebook,源码,尽快熟悉人家的思路,今天界面开始。俩见面。显示列表和编辑界面。他是桌面绘制的。有什么不同。res和class文件。
class:大的项目是50个到100个。这个比较小,作为分析源码的程序是比较好的。方法很重要。找规律,从运行项目开始,主方法,看menutext.xml里主Activity。源码先看总体,memomain,展开,里面有所有属性和方法。继承或的类。可自写主。主子类。head文本notes(1),search搜索。同一把所有用的组件全初始化成属性在oncreat里,看资源文件的布局,因为是数字,在R里找。搜索找。在eclipse里克视图方式预览(Graphical Layout)。他的属性id=@id/意义?在values里有个ids.xml文件,type全是id,name全是会被其他引用的名字(把所有的id都写在这个资源文件里。避免重复名字,统一管理;false什么的其实不用管..)
整体是FrameLayout布局(帧),里用了LinearLayout,再内嵌俩布局RE和FR。第一个button属性visibility=invisible不可见,text是账户,是邮件的,真机还是不能用不管了。
第二个FrameLayout,里有俩view。是重叠的。点啥会切换他们谁隐藏和谁显示。他用飞是自定义LIstView,写的是代码,继承ListView。加了很多事件getCount里,8行。i的话至少8行。。【想打瞌睡就吼起来,并且打字】
getview绘制每一行,先判断序号长度,paramInt》=this.mCursor.getCount()


跟着老师做。。天呐。我泪奔了,。头一回啊~~
先把俩res里的图片放到mdpi和hdpi里。。
其一。拷贝drawlable,values(color,string,style),anim,colour
 第一个button属性android:visibility="invisible"不显示

自定义listView ,写三构造函数
* @param context     上下文对象。Activity
* @param attrs  所有属性的集合
* @param defStyle  样式

自定义适配器 MemoMainListAdapter extends BaseAdapter
getCount里
// 如果数据不为空,那么返回的行数要大于或等于8.具体行数取决于数据的长度。
 int i = 0;
 if (mCursir != null) {
  if (mCursir.length >= 8) {
   i = mCursir.length;
  } else {
   i = 8;
  }
 }
 return i;

在values建ids资源文件
<resources>
    <item name="iphonememo_main_btn_account" type="id"></item>
    <item ...>形式
</resources>

下来建作业:ipEditText,ipLineEditText,MemoEdit,还有个?

 

主界面里的ListView,可以自写个MemoListView,并在class类里继承于ListView

/**
 * 自定义主界面的ListView 重写构造方法
 * 
 * @author Zk
 * 
 */
public class MemoListView extends ListView {
	public MemoListView(Context context) {
		super(context);
	}

	public MemoListView(Context context, AttributeSet attrs) {
		super(context, attrs);
	}

	/**
	 * @param context     上下文对象。Activity
	 * @param attrs  所有属性的集合
	 * @param defStyle  样式
	 */
	public MemoListView(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
	}

}

 

然后这个MemoListView 要注意加上具体路径:

<com.lovo.memo.ui.MemoListView 各种属性/>

 

然后ListView里每一行的布局xml文件:根目录也可写个自定义布局类来实现。如MemoGenericView继承相对布局,(虽然还没写具体多了哪些东西.)

 

/**
 * 继承相对布局,自用的话可都用它,以满足更多实现
 * @author Zk
 *
 */
public class MemoGenericView extends RelativeLayout{
	public MemoGenericView(Context context) {
		super(context);
	}
	
	public MemoGenericView(Context context, AttributeSet attrs) {
		super(context,attrs);
	}
	/**
	 * 
	 * @param context
	 * @param attrs
	 * @param defStyle
	 */
	public MemoGenericView(Context context, AttributeSet attrs, int defStyle) {
		super(context, attrs, defStyle);
	}
}

 

 

然后也可以自己定义个适配器:重写BaseAdapter未实现的方法,自写构造函数俩参数的;getCount()看需求写显示个数,重要的是getView()方法,暂不熟,需下来多看下.

/**
 * 自定义适配器
 * 
 * @author zk
 * 
 */
public class MemoMainListAdapter extends BaseAdapter {
	private String[] mCursir;
	private Activity activity;

	
	public MemoMainListAdapter(String[] mCursir, Activity activity) {
		super();
		this.mCursir = mCursir;
		this.activity = activity;
	}

	@Override
	public int getCount() {
		// 如果数据不为空,那么返回的行数要大于或等于8.具体行数取决于数据的长度。
		int i = 0;
		if (mCursir != null) {
			if (mCursir.length >= 8) {
				i = mCursir.length;
			} else {
				i = 8;
			}
		}
		return i;
	}

	@Override
	public Object getItem(int position) {
		// TODO Auto-generated method stub
		return null;
	}

	// 返回position
	@Override
	public long getItemId(int position) {
		return position;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		// TODO Auto-generated method stub
		//创建每行显示的View组件
		convertView = newView();
		//如果当前行号已经超过数组的唱的,则不绘制当前行中组件的内容
		if (position >= mCursir.length) {// 超出设成空白
			((ViewGroup)convertView).getChildAt(1).setVisibility(View.INVISIBLE);// 4隐藏
		} else {
			buildView(position, convertView);
		}

		return convertView;
	}

	/**
	 * 
	 * @param position 字义是方位
	 * @param converView View
	 */
	 
	public void buildView(int position, View converView) {
		TextView contentTextView = (TextView) ((ViewGroup) converView).getChildAt(0);
		TextView dateTextView = (TextView) ((ViewGroup) converView).getChildAt(2);
		String content = mCursir[position];// ?
		contentTextView.setText(content);
		// 获取当前系统时间
		Date date = new Date();
		String dataStr=new SimpleDateFormat("HH:mm").format(date);
		dateTextView.setText(dataStr);// ?
	}

	public View newView() {
		View view = activity.getLayoutInflater().inflate(
				R.layout.iphonememo_main_listitem, null);
		return view;
	}
}


 

 最后是主Avtivity里,成员MemoListView和MemoMainListAdapter和数组将显示的元素,findViewById找出资源文件;new一个MemoMainListAdapter并传参资源数组和当前Activity,最后setAdapter而显示出来。

 

/**
 * 主入口Activity
 * 
 * @author Zk
 * 
 */
public class MemoMain extends IphoneNoTitleActivity {
	private MemoListView mListView;
	private MemoMainListAdapter mListAdapter;
	private String[] mCursor = new String[] { "this1", "test2", "test3",
			"this4", "test5", "test6", "this7", "test8", "test9", "this10",
			"test11", "test12", "this13", "test14", "test15" };

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.iphonememo_main);

		mListView = (MemoListView) findViewById(R.id.iphonememo_main_memolistview);
		mListAdapter = new MemoMainListAdapter(mCursor, this);
		mListView.setAdapter(mListAdapter);

	}


额晕模拟器也会抽么..显示不出效果了啊咧咧?~~

 

 

某音乐部成员,外国孩子们除了念书外的课外活动还是比较丰富的..那咱的高考造就的呢?既然身在此就该做此了呗..那些只能感叹罢了
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值