天天看点

2013年6月22日 22:29:43

0622,memo

实现跳转:

onItemClickListener有; public void onItemClick参数paramInt行号

(目前有错,MemoGenericView的51行没有删除按钮,是xml里没添;xml里组件id命名不规范,文件名写少了)

//0622-1,MemoMainListAdapter里,给数组添加get,set方法

//0622-2,MemoMain,implements OnItemClickListener,

onItemClick里:// 选中的行序号一定要小于数据的长度,否则不能实现跳转

  if (arg2 < mListAdapter.getmCursir().length) {

   Intent intent = new Intent(this, MemoEdit.class);

   MemoGenericView mView = (MemoGenericView) arg1;

   // 获取选中这一行的文本

   String content = ((TextView) mView.getChildAt(0)).getText()

     .toString();// 子节点,iphonememo_main_listitem.xml第一个

   intent.putExtra("content", content);

   startActivity(intent);

   finish();

  }

 }

//0622-3,onCreate里:把监听器注册 :mListView.setOnItemClickListener(this);

//0622-4 MemoListView里,先boolean flag=super.onTouchEvent(ev);

if (selectRow != null) {

 selectRow.showDeleteBtn();

  //0622-4,行数不为空就显示出按钮

 flag=true;

}

(师讲MemoListView里,onTouchEvet,大量判断组件的点击与否,希望我们自己实现,去看源码吧)

边学变看扁去做,至实现,我们的目的是多去读代码

讲Intent:(第八章 android应用程序之间的通讯)

不能直接跳,因为会被紧密联系在一起。用意图

理解Intent

使用Intent启动系统组件

intent的属性及intent-filter配置

使用intent创建Tab页面

Intent对象及其属性,

Component属性来制定需要启动的组件(原来经常写的跳转class是简写),

ComponentName(String pkg,String cls);package是不同应用程序放的

事例:

先传:Intent intent=new Intent();ComponentName cn=new Component(xx.this,s2xx.class);intent.setComponent(cn);startActivity(intent);

接收:可看ComponentName comp=getIntent().getComponent();显示组件包名comp.getPackageName();类名comp.getClassName();

ComponentName(Context pkg,String cls);包名:"com.lovo.lesson9"(可配置xml里看)(Context:上下文)

ComponentName(Context pkg,Class<?>cls);类的全路径:"xxxxx"(域名作为包名来保证唯一性,至少2级)

Action动作、Category类别 属性

事例,intent传:直接写intent.setAction("action名");再start..,则直接跳到xml设置了这个action属性的Activity(如系统设置的主入口xxx.MAIN是主入口)

Category可以设多个,只要你的Activity里有其一属性即可(事例intent传,intent.addGategory;)

属性表一大堆.LAUNCHER是选中用到的

若返回系统Home桌面,new intent();setAction(Intent.ACTION_MAIN);addCategory(Intent.CATEGORY_HOME);

Data接受个Uri对象、Type明确指定Data属性所指定数据的类型或MIME类型,有设Data就可不设此、Extra属性

如String data="http:www.baidu.com";

Uri uri=Uri.parse(data);

intent.setAction(Intent.ACTION_VIEW);

intent.setData(uri);

startActivity(intent);

还可设置跳到通讯录,以后的增删查等统统都是经过这个Uri;

拨号是Intent.ACTION_DIAL,数据是tel:1231354;

练习跳至电话界面,获取电话薄的联系人信息并显示

使用Intent创建Tab页面,(需下来好好整下),直接新个类继承TabHost,要注册,不用写xml,用以下代码即可

TabHost tabHost = getTabHost();

tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("主界面").setContent(new Intent(this,MainActivity.class)));

tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("显示界面").setContent(new Intent(this,ShowActivity.class)));

写个类继承TabActivity,onCreate里把上面3句话加进去

明天讲service,

今天没什么说的,回来又逛着耍了..这会再继续看代码吧~

2013年6月22日 22:29:43

这一脸幸福和幻想的表情..简单说就是YY~