Liebes Java Forum,
der Import und setzen der Listview ging super und alles wird von der DB angezeigt.
Leider bekomme ich keine Ausgabe, wenn ich auf das Produkt klicke. Es reagiert nicht.
Die Methode im Fragment:
Liegt es daran, das die Methode private ist? Sollte kein Problem darstellen, denke ich.
Und der BaseAdapter:
Oder muss ich es in dem Custom listView den Plazieren den KlickListener:
Da ich den ListView im Fragment setzte und die Leute setzen den ClickListener unter dem listview.setAdapter...
Ich habe mehrere Videos angesehen und war auch auf StackOverFlow, fand irgendwie nixs im Bezug auf ItemClick und wo er genau hinkommt, da die ja alle unter dem setAdapter plazieren.
Und Wenn ich jetzt Weiß, was angeklickt wurde(Name), Wie finde ich es draus?
Natürlich könnte man ja ein switch(position) machen, aber dann ist es nicht mehr dynamisch, wenn ein Produkt in der DB deaktiviert wurden ist...
Ich hoffe ihr kennt euch damit aus =)
der Import und setzen der Listview ging super und alles wird von der DB angezeigt.
Leider bekomme ich keine Ausgabe, wenn ich auf das Produkt klicke. Es reagiert nicht.
Die Methode im Fragment:
Java:
private void ListViewMethode(){
CustomBaseAdapter customBaseAdapter = new CustomBaseAdapter(getActivity(), produkte, produkt_titel, produkt_preis, images);
listView.setAdapter(customBaseAdapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Log.e("Produkte wurde geklickt", "Position: " + i);
}
});
}
Liegt es daran, das die Methode private ist? Sollte kein Problem darstellen, denke ich.
Und der BaseAdapter:
Java:
public class CustomBaseAdapter extends BaseAdapter {
Context context;
String listProdukte[];
String listProduktTitel[];
int listImages[];
String listPreise[];
LayoutInflater layoutInflater;
public CustomBaseAdapter(Context ct, String[] produkte, String [] produkt_titel, String [] produkt_preis, int [] images){
this.context = ct;
this.listProdukte = produkte;
this.listProduktTitel = produkt_titel;
this.listImages = images;
this.listPreise = produkt_preis;
layoutInflater = LayoutInflater.from(ct);
}
@Override
public int getCount() {
return listProduktTitel.length;
}
@Override
public Object getItem(int i) {
return listProduktTitel[i];
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
view = layoutInflater.inflate(R.layout.activity_custom_list_view, null);
TextView produkt_titel = view.findViewById(R.id.textView_produkt);
TextView preis = view.findViewById(R.id.textView_preise);
ImageView imageView = view.findViewById(R.id.imageView_produkt);
imageView.setImageResource(listImages[i]);
produkt_titel.setText(listProduktTitel[i]);
preis.setText(listPreise[i] + "€");
return view;
}
}
Oder muss ich es in dem Custom listView den Plazieren den KlickListener:
Java:
public class CustomListView extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_custom_list_view);
}
}
Da ich den ListView im Fragment setzte und die Leute setzen den ClickListener unter dem listview.setAdapter...
Ich habe mehrere Videos angesehen und war auch auf StackOverFlow, fand irgendwie nixs im Bezug auf ItemClick und wo er genau hinkommt, da die ja alle unter dem setAdapter plazieren.
Und Wenn ich jetzt Weiß, was angeklickt wurde(Name), Wie finde ich es draus?
Natürlich könnte man ja ein switch(position) machen, aber dann ist es nicht mehr dynamisch, wenn ein Produkt in der DB deaktiviert wurden ist...
Ich hoffe ihr kennt euch damit aus =)