Zugriff auf TextView in ListItem via ButtonClick

new Android

Mitglied
Hallo zusammen,

Ich hänge an einem Problem fest:

Ich habe eine Listemit einzelnen ListItems mit Buttons und einem TextView [TextView [Button 1][Button 2]].

Nun möchte Ich gerne nach einem ButtonPress auf "Button 1" die TextView des jeweiligen ListItems auslesen auf welchem sich der gedrückte Button gefindet.

Wie kann Ich also auf die TextView des entsprechenden ListItems zugreifen?

Vielen Dank vorab.
 
What? Button auf TextView???
Wie hast du die Liste implementiert? SimpleCursorAdapter oder ArrayAdapter erweitert? Dann hast du dort ja die getView-Methode in der du die einzelnen Views erstellst. Einen ViewHolder erstellen, den an die Buttons übergeben (setData oder so) und dann in dem Listener der Buttons, den du im getView natürlich auch anhängen musst, den ViewHolder und den darin enthaltenen TextView auslesen. Sollte denkbar einfach sein!
 
Nein, Ich habe eine List mit ListItems. Die List Items beinhalten eine TextView und zwei Buttons.
[[TextView][Button1][Button2]]

Hier die getView():

Wie kann Ich in der OnClick(), des jeweiligen Button, den Text aus der TextView des ListItems im Toast anzeigen lassen?

Java:
				public View getView(final int position, View convertView,
						ViewGroup parent) {
					View view = convertView;
					ViewHolder holder;

					if (view == null) {
						LayoutInflater inflater = (LayoutInflater) callingActivity
								.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
						view = inflater.inflate(R.layout.list, null);

						holder = new ViewHolder();
						view.setTag(holder);
					} else {
						holder = (ViewHolder) view.getTag();
					}
					
					holder.text = (TextView) view.findViewById(R.id.text);
					holder.button1 = (ImageButton) view.findViewById(R.id.imageButton1);
					holder.button2 = (ImageButton) view.findViewById(R.id.imageButton2);
					holder.button1.setOnClickListener(new OnClickListener() {
						@Override
						public void onClick(View v) {
							if(v.getId() == R.id.imageButton1){
							Toast.makeText(getActivity(), "Button1 pressed", Toast.LENGTH_SHORT).show();								

							}
						}
					}
					);
					holder.button2.setOnClickListener(new OnClickListener() {
						@Override
						public void onClick(View v) {
							if(v.getId() == R.id.imageButton2){
								Toast.makeText(getActivity(), "Button2 pressed", Toast.LENGTH_SHORT).show();
							}				
						}
					}
					);
					return view;
				}
			};
			setListAdapter(adapter);
		}
	}
 
Zuletzt bearbeitet:

Zurück
Oben