0

I'm trying to put intent and onClickListner on my code but i'm not able to find any solution for that.

In MainActivity.java

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
final ArrayList<Details> detail = new ArrayList<>();

        detail.add(new Details(R.string.list_1, price_1,getResources().getColor(R.color.color_category_1)));
       //more detail           
        DetailsAdapter adapter = new DetailsAdapter(this, detail);
        ListView listView = (ListView) findViewById(R.id.list);
        listView.setAdapter(adapter);
}

In DetailAdapter.java

public class DetailsAdapter extends ArrayAdapter<Details> {

    private DetailsAdapter(Activity context, ArrayList<Details> detail) {
        super(context, 0, detail);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View listItemView = convertView;
        if (listItemView == null) {
            listItemView = LayoutInflater.from(getContext()).inflate(R.layout.category_list_main, parent, false);
        }

        Details currentDetails = getItem(position);

        TextView detailsTextView = (TextView) listItemView.findViewById(R.id.detailsName);
        detailsTextView.setText(currentDetails.getDetailName());

        //other code for displaying the text
        colourCategory.setBackgroundColor(currentDetails.getColorCategory());
        return listItemView;
    }
}
Constantin Beer
  • 5,447
  • 6
  • 25
  • 43
Satyam Patil
  • 161
  • 1
  • 6
  • _listItemView.setOnClickListener()_ – Piyush Sep 06 '19 at 07:02
  • https://stackoverflow.com/questions/19662233/how-open-new-activity-clicking-an-item-in-listview, https://stackoverflow.com/questions/8615417/how-can-i-set-onclicklistener-on-arrayadapter, https://stackoverflow.com/questions/4197135/how-to-start-activity-in-adapter, https://stackoverflow.com/questions/15941732/start-intent-in-adapter, https://stackoverflow.com/questions/4852307/listview-onclick-goes-to-a-new-activity, https://stackoverflow.com/questions/41535903/adding-onclicklistener-to-specific-items-in-listview, https://stackoverflow.com/questions/6660126/listview-open-new-activity-onclick – Mike M. Sep 06 '19 at 07:08

1 Answers1

0

You can define your listView.setOnItemClickListener like this to go to a different activity for clicking the different element.

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final ArrayList<Details> detail = new ArrayList<>();

    detail.add(new Details(R.string.list_1, price_1,getResources().getColor(R.color.color_category_1)));

    // More detail           
    DetailsAdapter adapter = new DetailsAdapter(this, detail);
    ListView listView = (ListView) findViewById(R.id.list);
    listView.setAdapter(adapter);

    // Click event
    listView.setOnItemClickListener(new setOnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
            // Do what you need...
        }
    });
}
Hasitha Jayawardana
  • 2,326
  • 4
  • 18
  • 36