Ich habe folgendes Listview:Wie wird die Methode der Aktivität in Fragment aufgerufen?
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
//CheckBoxAdapter cb = new CheckBoxAdapter(this.getActivity(),R.layout.item, getResources().getStringArray(R.array.products));
//lv.setAdapter(cb);
ArrayAdapter<String> arrayAdapter;
arrayAdapter = new ArrayAdapter<String>(this.getContext(), android.R.layout.simple_list_item_1, categories);
ListView lv = (ListView) this.getActivity().findViewById(R.id.listProduct);
lv.setAdapter(arrayAdapter);
lv.setOnItemClickListener(
new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String type = String.valueOf(parent.getItemAtPosition(position));
Toast.makeText(getContext(), parent.getItemAtPosition(position)+" is selected", Toast.LENGTH_LONG).show();
try {
MainActivity.AddSubscription(String.valueOf(parent.getItemAtPosition(position)));
} catch (TimeoutException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
);
Aber zur Zeit kann ich nicht AddSubscription verweisen, die nicht statische ist
MainActivity.AddSubscription(String.valueOf(parent.getItemAtPosition(position)));
ich eine nicht statische Zuhörer erstellen müssen, die AddSubscription nennen kann, ist es möglich, mit einem Listview ? Wenn nicht, kann ich einen anderen Ansichtstyp verwenden?
MainActivity entfernen. , rufen Sie direkt AddSubscription (...) Methode –
Dies ist in einem Fragment – Jon