2012-07-24 76 views
1

我试图在Android中为我的ListView设置一个OnItemClickListener,但我无法让它工作。在Android上为ListView设置onItemClick侦听器

这是我到目前为止有:

public class MenuFragment extends SherlockFragment 
{ 
    ArrayList<Item> items = new ArrayList<Item>(); 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
       Bundle savedInstanceState) 
    { 

    ListView list = (ListView)view.findViewById(R.id.list_mainmenu); 

    // some code here where i add items to an ArrayList... 

    // Then i add the ArrayList to an EntryAdapter 
    EntryAdapter adapter = new EntryAdapter(this.getActivity().getBaseContext(), items); 

    list.setAdapter(adapter); 
    list.setClickable(true); 

    list.setOnItemClickListener(AdapterView.OnItemClickListener()) { 
     // ... 
    } 
} 

但是,这使我对OnItemClickListener()的错误:

的方法OnItemClickListener()是未定义的类型适配器视图。

所以我的问题是,我怎么能在我的ListView上设置OnItemClickListener

回答

10

检查这个代码

listView.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(); 
     } 
    }); 
0

应该实施customAdapter具有对您的ListView更多的控制权,Here是访问这个你应该能够做到需要什么之后的链接。或者你可以有这个代码来快速做你所需要的。

listView.setOnItemClickListener(new OnItemClickListener() { 
@Override 
public void onItemClick(AdapterView<?> arg0, View view, int arg2,long itemID) { 


} 
}); 
1

试试这个

list.setOnItemClickListener(new AdapterView.OnItemClickListener()) { 
    // ... 
} 
2

确保您已导入正确的包:

import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
0

试试这个:

list.setOnItemClickListener(new OnItemClickListener() { 
    public void onItemClick(AdapterView<?> a, View v, int position, long id) { 
     // ... 
    } 
}); 
0

试试这个

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

     } 
    }); 
相关问题