天天看點

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~