0

通常我设置我的 ItemClickListener 使用

list.setOnItemClickListener(new OnItemClickListener() {

            public void onItemClick(AdapterView<?> parent, View view,
                    int position, long id) {
                    long x = MyActivity.this.myAdapter.getItemId(position); //to get the clicked item position
            }
        });

在设置我的 ListView 等之后。

现在我必须以这种方式处理使用带有默认 Android 列表适配器的列表的代码

public class ListDefs extends ListActivity {
        private Defs defs;
        private ArrayAdapter<String> adapter;

        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            defs = Note.defs;
            adapter = new ArrayAdapter<String>(this,
                    android.R.layout.simple_list_item_1, defs.lines);
            setListAdapter(adapter);
        }


    }

OnItemClickListener()在这种情况下如何设置?

4

1 回答 1

0

ListActivity 具有getListAdaptergetListView方法。

在你的 onCreate 中,在你调用之后

setContentView(R.layout.list_activity); 

其中 R.layout.list_activity 是你的活动的布局文件,它有一个 ListView 标记有 android 列表 id 像这样(根据文档)

<ListView
    android:id="@android:id/list"
    ... />

你可以打电话

getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() {
    public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
    ...
    }
});

从文档

ListActivity 有一个默认布局,它由屏幕中央的单个全屏列表组成。但是,如果您愿意,您可以通过在 onCreate() 中使用 setContentView() 设置您自己的视图布局来自定义屏幕布局。为此,您自己的视图必须包含一个 ID 为“@android:id/list”的 ListView 对象(如果它在代码中,则为列表)

于 2013-07-19T21:28:56.670 回答