列表视图中的单击事件是ListFragment

时间:2013-09-05 06:00:20

标签: android listview android-fragments android-arrayadapter android-listfragment

我有一个用android.app.ListFragment扩展的类,我想在单击列表视图时创建一个事件,但是没有什么对我有用并且正在使用数组适配器。 我已经尝试了几乎所有的东西,现在我正在尝试这个但仍然无法正常工作。

ListView list = (ListView) rootView.findViewById(android.R.id.list);
    list.setOnItemClickListener(new AdapterView.onItemClickListener() {
       @Override
       public void onItemClick(AdapterView<?> adapter, View view, int position, long arg) {
          Object listItem = list.getItemAtPosition(position);
       } 
    });

我的适配器片段类是:

4 个答案:

答案 0 :(得分:0)

试试这种方式

getListView().setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

    }
});

答案 1 :(得分:0)

试试这个:

list.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                // When clicked, show a toast with the TextView text
                Toast.makeText(getApplicationContext(),
                ((TextView) view).getText(), Toast.LENGTH_SHORT).show();
            }
        });

参考: http://www.mkyong.com/android/android-listview-example/

答案 2 :(得分:0)

您必须使用onListItemClick的{​​{1}}方法。

删除

ListFragment

并添加到您的班级

ListView list = (ListView) rootView.findViewById(android.R.id.list);
list.setOnItemClickListener(new AdapterView.onItemClickListener() {
   @Override
   public void onItemClick(AdapterView<?> adapter, View view, int position, long arg) {
      Object listItem = list.getItemAtPosition(position);
   } 
});

答案 3 :(得分:0)

@Override
protected void onListItemClick(ListView l, View v, int position, long id){
    super.onListItemClick(l, v, position, id);
    Toast.makeText(getActivity().getApplicationContext(), "Field Vaasdasdaccant",    Toast.LENGTH_LONG).show();
}