2014-09-27 71 views
0
android:minSdkVersion="7" 
android:targetSdkVersion="18" 

我想添加操作欄到我的應用程序,但擴展到ActionBarActivity而不是ListViewActivity我無法管理onListItemClick。onListItemClick when extends ActionBarActivity

這是我的代碼。沒有錯誤,但點擊列表項不起作用。

import android.support.v7.app.ActionBarActivity; 
..... 
public class XXX extends ActionBarActivity { 
..... 
ListView getListView() { 
    if (mListView == null) { 
     mListView = (ListView) findViewById(android.R.id.list); 
    } 
    return mListView; 
} 

protected void setListAdapter(ListAdapter adapter) { 
    getListView().setAdapter(adapter); 
} 

protected ListAdapter getListAdapter() { 
    ListAdapter adapter = getListView().getAdapter(); 
    if (adapter instanceof HeaderViewListAdapter) { 
     return ((HeaderViewListAdapter)adapter).getWrappedAdapter(); 
    } else { 
     return adapter; 
    }} 
protected void onListItemClick(ListView l, View v, int position, long id) { 
    getListView().getOnItemClickListener().onItemClick(l, v, position, id); 
// TODO Auto-generated method stub 

    } 

回答

2

試試這個:

mLv.setOnItemClickListener(new OnItemClickListener() { 

    @Override 
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
     // TODO Auto-generated method stub 

    } 
}); 

不要忘了進口:

import android.view.View; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
+0

OK!我把它放在OnCreate上!作品! – lucignolo 2014-09-27 21:43:04

0

爲遵循以下步驟:

  1. 刪除所有多餘的值的文件夾,除了值
  2. 刪除菜單文件夾中端應用程序標籤
  3. 刪除樣式標籤在你的清單文件。
  4. 在項目屬性中刪除與android.support.v7相關的額外庫。
  5. 現在您可以將ActionBarActivity更改爲ListViewActivity。

我認爲這會有所幫助。

0

當你創建一個類你不要有:

implements onitemclicklistener 

,你不說以列表視圖的方式監聽。試試這個:

mListView.setOnItemClickListener(this); 

不記得添加未實現的方法。 OK!