Java 带有customView和onClickItemListener的ListView

Java 带有customView和onClickItemListener的ListView,java,android,listview,android-custom-view,Java,Android,Listview,Android Custom View,我对listview有问题。。。我正在尝试添加OnClickListener,但in仍然不起作用。我想在单击后显示另一个活动。有人能帮我吗?我知道有很多例子,但它不适用于我的应用程序,或者我不知道如何在我的例子中使用它 这是我的LocationAdapter类: public class LocationAdapter extends ArrayAdapter<LocationModel> { int resource; String response; Context conte

我对listview有问题。。。我正在尝试添加OnClickListener,但in仍然不起作用。我想在单击后显示另一个活动。有人能帮我吗?我知道有很多例子,但它不适用于我的应用程序,或者我不知道如何在我的例子中使用它

这是我的LocationAdapter类:

public class LocationAdapter extends ArrayAdapter<LocationModel> {

int resource;
String response;
Context context;
private LayoutInflater mInflater;

public LocationAdapter(Context context, int resource, List<LocationModel> objects) {
    super(context, resource, objects);
    this.resource = resource;
    mInflater = LayoutInflater.from(context);
}

static class ViewHolder {
    TextView titleGameName;
    TextView distanceGame;
        }


public View getView(int position, View convertView, ViewGroup parent)
{
    ViewHolder holder;
    //Get the current location object
    LocationModel lm = (LocationModel) getItem(position);

    //Inflate the view
    if(convertView==null)
    {
        convertView = mInflater.inflate(R.layout.item, null);
        holder = new ViewHolder();
        holder.titleGameName = (TextView) convertView
                .findViewById(R.id.it_location_title);
        holder.distanceGame = (TextView) convertView
                .findViewById(R.id.it_location_distance);

        convertView.setTag(holder);   


     } else  {

         holder = (ViewHolder) convertView.getTag();

    }

    holder.titleGameName.setText(lm.getGameName());
    holder.distanceGame.setText(lm.getGameDistance()+" km");

    return convertView;
}
这是个好主意吗?谢谢你的帮助

好了,完成了。我用过:

   public void onItemClick(AdapterView<?> a, View
                                v, int position, long id) {


            String idGame = (String) ((TextView) v.findViewById(R.id.idGameSelected)).getText();
public void onItemClick(适配器视图a,视图
v、 内部位置,长id){
String idGame=(String)((TextView)v.findViewById(R.id.idGameSelected)).getText();
谢谢你,Michal。

lv.setOnItemClickListener(新的OnItemClickListener(){
    lv.setOnItemClickListener(new OnItemClickListener(){
        public void onItemClick(AdapterView<?> parent, View view, int position, long id){
            Intent i = new Intent(view.getContext(), NextActivity.class);
            startActivity(i);

        }
    });
public void onItemClick(AdapterView父对象、视图、整型位置、长id){ 意图i=新意图(view.getContext(),nextractivity.class); 星触觉(i); } });

我不知道为什么这不起作用,请将其放在try{}catch{}块之后。

您可以在适配器实例上定义一个onItemClick(即在mainListView.java中,就在lv.setAdapter之后):

lv.setOnItemClickListener(新的OnItemClickListener(){
公共视图单击(AdapterView a,视图
v、 内部位置,长id){
Intent i=新的Intent(v.getContext(),nextractivity.class);
星触觉(i);
}
});

arf,你在电话里打败了我……可惜我的一个同事在这个时候来聊天……;)我喜欢我们都称之为NextActivity.class.:D
   public void onItemClick(AdapterView<?> a, View
                                v, int position, long id) {


            String idGame = (String) ((TextView) v.findViewById(R.id.idGameSelected)).getText();
    lv.setOnItemClickListener(new OnItemClickListener(){
        public void onItemClick(AdapterView<?> parent, View view, int position, long id){
            Intent i = new Intent(view.getContext(), NextActivity.class);
            startActivity(i);

        }
    });
lv.setOnItemClickListener(new OnItemClickListener() {
                public void onItemClick(AdapterView<?> a, View
                                        v, int position, long id) {
                    Intent i = new Intent(v.getContext(), NextActivity.class);
                    startActivity(i);
                }
            });