start new activity on click listview item

android, listview

Solution

Remove the `onListItemClick()` from your `CustomListView` class and place the `startActivity()` method inside the `convertView.setOnClickListener()`.

convertView.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        startActivity(new Intent(getApplicationContext(), two.class));
    }
});

Problem

I need some help to do a simple click in a listview item to open a new Activity. I have seen a lot of this kinda issues here but no one helped me. ``` public class CustomListView extends ListActivity { private EfficientAdapter adap; ... @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); adap = new EfficientAdapter(this); setListAdapter(adap); } @Override protected void onListItemClick(ListView l, View v, int position, long id) { // TODO Auto-generated method stub super.onListItemClick(l, v, position, id); startActivity(new Intent(CustomListView.this, next.class)); } public static class EfficientAdapter extends BaseAdapter implements Filterable { private LayoutInflater mInflater; private Bitmap mIcon1; private Context context; public EfficientAdapter(Context context) { // Cache the LayoutInflate to avoid asking for a new one each time. mInflater = LayoutInflater.from(context); this.context = context; } public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder holder; if (convertView == null) { convertView = mInflater.inflate(R.layout.adaptor_content, null); convertView.setOnClickListener(new OnClickListener() { private int pos = position; @Override public void onClick(View v) { } }); convertView.setTag(holder); }else{ // Get the ViewHolder back to get fast access to the TextView // and the ImageView. holder = (ViewHolder) convertView.getTag(); } return convertView; } ... } } ``` I tried also adding the next code inside of onCreate method from CustomListView class but it doesn't work either ``` ListView lv = getListView(); // listening to single list item on click lv.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) { startActivity(new Intent(CustomListView.this, next.class)); } }); ```

Original source