2013-03-02 57 views
0
lv.setAdapter(adp); 
    lv.setOnItemClickListener(new OnItemClickListener() { 

     @Override 
     public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, 
       long arg3) { 
      // TODO Auto-generated method stub 
      Cursor c = (Cursor)arg0.getItemAtPosition(arg2); 
      call = c.getString(0); 
      Intent i = new Intent(null, Ldetail.class); 
      i.putExtra("id",call); 
      startActivity(i); 
+0

什麼是 '不工作' 是什麼意思? – StarPinkER 2013-03-02 07:17:35

+0

而不是空使用上下文或activityname.this – 2013-03-02 07:17:57

回答

1

試試這個,而不是空的使用getapplicationcontext()..

0
usersList.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

在這裏,你已經使用的適配器觀,這是父類的自定義適配器的視圖。這就是爲什麼它不起作用。相反,您應該使用自定義適配器視圖。

此處的getView()函數可幫助您將父視圖視圖轉換爲自定義視圖。

所以您使用的兩個選項,

usersList.setOnItemClickListener(new CustomAdapterView.OnItemClickListener() { 

usersList.setOnItemClickListener(new OnItemClickListener() { 
3

改變這一行。

Intent i = new Intent(null, Ldetail.class); 

而不是null use context或activityname.this。您必須傳遞上下文或活動名稱。

Intent i = new Intent(YourCurrentActivityName.this, Ldetail.class); 

或者

Intent i = new Intent(getBaseContext(), Ldetail.class); 

,並宣佈在Android清單文件Ldetail活動。

0

爲什麼傳遞null而不是上下文?
添加上下文的意圖

Intent i = new Intent(yourclassname.this, Ldetail.class); 
0
Intent i = new Intent(null, Ldetail.class); 
     i.putExtra("id",call); 
     startActivity(i); 

您必須通過情境或活動。

 Intent i = new Intent(this, Ldetail.class); 

Intent i = new Intent(getBaseContext(), Ldetail.class); 
+0

我試過Intent i = new Intent(this,Ldetail.class); Intent i = new Intent(getBaseContext(),Ldetail.class); 但我雖然得到運行時錯誤 – 2013-03-02 07:30:48

+0

告訴我你的錯誤第一 – duggu 2013-03-02 07:32:47

+0

我如何發送日誌貓的屏幕截圖? – 2013-03-02 07:35:16