onListItemClick在扩展ActionBarActivity时

时间:2014-09-27 15:39:34

标签: android

android:minSdkVersion="7"
android:targetSdkVersion="18"

我想在我的应用中添加操作栏,但是扩展到ActionBarActivity而不是ListViewActivity我无法管理onListItemClick。

这是我的代码。没有错误,但点击列表项不起作用。

    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

    } 

3 个答案:

答案 0 :(得分: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;

答案 1 :(得分:0)

以下步骤:

  1. 删除除值
  2. 以外的所有额外值文件夹
  3. 删除菜单文件夹
  4. 删除清单文件中的侧应用程序代码中的样式标记。
  5. 删除项目属性中与android.support.v7相关的额外库。
  6. 现在您可以将ActionBarActivity更改为ListViewActivity。
  7. 我认为这会有所帮助。

答案 2 :(得分:0)

当你创建你没有的课时:

implements onitemclicklistener

并且您不会对列表视图说听众。试试这个:

mListView.setOnItemClickListener(this);

不记得添加未实现的方法。