androidlistviewsubitem

OnClick on subItem of listview item in android


I have a listview. Its items has subitems. how can i get onclick event on subitems. The problem is that to get onclick even on subitem, i have to first get onclick on item, then sub item. How can i get onclick on subitem directly

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                    @Override
                    public void onItemClick(AdapterView<?> adapterView, View view, final int i, long l) {
                        final int a = i + 1;
                        final FrameLayout frameLayout = (FrameLayout) view.findViewById(R.id.luxonetopimageid);
                        final FrameLayout frameLayout1 = (FrameLayout) view.findViewById(luxtwotopimageid);

                        frameLayout.setOnClickListener(new View.OnClickListener() {
                            @Override
                            public void onClick(View view) {
                                int m = (a * 2) - 1;
                                if (arrays[m] == 0) {
                                    if (arraysAmount(arrays) < Integer.parseInt(PreferenceUtils.getNumberPassenger(SelectedVagonActivity.this))) {
                                        frameLayout.setBackgroundResource(R.drawable.place_luks_busy);
                                        arrays[m] = m;
                                    } else
                                        Toast.makeText(SelectedVagonActivity.this, "You can not choose more people that you have ex", Toast.LENGTH_LONG).show();

                                } else {
                                    frameLayout.setBackgroundResource(R.drawable.place_luks_free);
                                    arrays[m] = 0;
                                }
                            }
                        });
                        frameLayout1.setOnClickListener(new View.OnClickListener() {
                            @Override
                            public void onClick(View view) {

                                int n = a * 2;
                                if (arrays[n] == 0) {
                                    if (arraysAmount(arrays) < Integer.parseInt(PreferenceUtils.getNumberPassenger(SelectedVagonActivity.this))) {
                                        frameLayout1.setBackgroundResource(R.drawable.place_luks_busy);
                                        arrays[n] = n;
                                    } else
                                        Toast.makeText(SelectedVagonActivity.this, "You can not choose more people that you have ex", Toast.LENGTH_LONG).show();

                                } else {

                                    frameLayout1.setBackgroundResource(R.drawable.place_luks_free);
                                    arrays[n] = 0;
                                }
                            }

                        });
                    }
                });
            } 

Solution

  • TableView is the best option available