Ich habe eine Klasse mit dem Namen ExpandableListAdapter, die BaseExpandableListAdapter erweitert. Meine getChildView Methode sieht wie folgt aus:Android - Korrekte Platzierung von Listenern mit ExpandableListAdapter
@Override
public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView,
ViewGroup parent) {
if (convertView == null) {
LayoutInflater infalInflater = (LayoutInflater) this.context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = infalInflater.inflate(R.layout.list_item, null);
}
tv_questionAmountResult = (TextView) convertView.findViewById(R.id.tv_questionAmountResult);
tv_correctAmountResult = (TextView) convertView.findViewById(R.id.tv_correctAmountResult);
tv_wrongAmountResult = (TextView) convertView.findViewById(R.id.tv_wrongAmountResult);
bt_allQuestions = (Button) convertView.findViewById(R.id.bt_allQuestions);
bt_correctQuestions = (Button) convertView.findViewById(R.id.bt_correctQuestions);
bt_wrongQuestions = (Button) convertView.findViewById(R.id.bt_wrongQuestions);
return convertView;
}
Meine andere Klasse ActTraining ist die ExpandableListAdapter im onCreate Methode:
ExpandableListAdapter listAdapter;
ExpandableListView expListView;
// get the listview
expListView = (ExpandableListView) findViewById(R.id.topicExpandableListView);
// preparing list data
prepareListData();
listAdapter = new ExpandableListAdapter(this, listDataHeader, listDataChild);
// setting list adapter
expListView.setAdapter(listAdapter);
Jetzt möchte ich OnClickListener für die 3-Tasten hinzufügen, aber ich Ich bin mir nicht sicher mit der richtigen Platzierung. Muss ich die Listener in meiner getChildView oder in meiner ActTraining-Klasse hinzufügen?
Das Problem ist, dass meine ExpandableListAdapter nicht Aktivität erstreckt. Also kann ich zB startActivity() nicht verwenden. –
können Sie eine Callback-Methode erstellen und sie in eine Schnittstelle einfügen und sie in Ihrem onClickListener aufrufen und dann Callback in Ihrer Aktivität implementieren. Ich habe die Antwort bearbeitet und einen nützlichen Link hinzugefügt. – SadeghAlavizadeh