Also ich habe eine ListView mit einem benutzerdefinierten Adapter und ich möchte, dass wenn ich eine Taste drücke ich konnte es von der OnItemClickListener von der MainActivity hören.Wie auf Daten in der Hauptaktivität von einer Taste zugegriffen wird, die in listView gedrückt wird?
Also meine Frage ist, was werde ich beim Aufruf onClick auf der Schaltfläche in meinem ListView übergeben, so dass ich es aus der Hauptaktivität lesen kann?
@Override
public View getView(final int pos, View convertView, ViewGroup parent) {
Holder holder = new Holder();
final CustomProductAdapter p=this;
final View rowView;
rowView = inflater.inflate(R.layout.product_list_test, null);
holder.productView=(TextView) rowView.findViewById(R.id.productView);
holder.descView=(TextView) rowView.findViewById(R.id.descView);
holder.imageView=(ImageView) rowView.findViewById(R.id.imageView);
holder.productCost=(TextView) rowView.findViewById(R.id.productCost);
holder.iButton=(ImageButton) rowView.findViewById(R.id.imageButton);
holder.iButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//What will I put here?
}
});
holder.productView.setText(proNames[pos]);
holder.descView.setText(R.string.description_product);
holder.productCost.setText("0.00");
ImageView image =holder.imageView;
imageloader.DisplayImage(images[pos],image);
rowView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, "You Clicked "+proNames[pos], Toast.LENGTH_SHORT).show();
}
});
return rowView;
}
so, dass ich es von hier aus wie diese lesen kann (ich weiß nicht, ob es der corect Weg ist)
listView = (ListView)findViewById(R.id.listView);
listView.setAdapter(new CustomProductAdapter(this, images, proNames1, desc));
AdapterView.OnItemClickListener mMessageClickedHandler = new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView parent, View v, int position, long id) {
// Do something in response to the click
long ids=v.getId();
if(ids==R.id.imageButton){
Toast.makeText(getBaseContext(),"Button clicked at "+position,Toast.LENGTH_SHORT).show();
}
}
};
listView.setOnItemClickListener(mMessageClickedHandler);
in meinem MainActivity.java. Ich bin ein Anfänger, also bitte hilf mir, wenn ich es nicht richtig mache.
danke für den Rat. – theSereneRebel