テキストビューから構築されたリストビューがあります。
ユーザーが項目リストをクリックすると、クリックした項目のテキストが変更されます。どうすれば変更できますか?
新しいアイテムを追加する方法は知っていますが、そのテキストを変更しますか? どうやってやるの?
まず、OnItemClickListenerをListViewに追加する必要があります。
mMyListView.setOnClickListener(new OnItemClickListener(
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
}
));
OnItemClickListenerのメソッドonItemClickにはビューパラメータがあります。クリックされた ListView の行が含まれます。
そのビューを使用すると、TextView を取得してテキストを変更できます。
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView tv = (TextView) view.findViewById(R.id.your_text_view_id);
tv.setText(...);
}
ListView セルに TextView のみが含まれている場合は、ビューを安全に TextView に直接キャストできます。
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView tv = (TextView) view;
tv.setText(...);
}
You can do this with an AdapterView.OnItemClickListener. Implement the onItemClick(AdapterView<?> parent, View view, int position, long id)
method. The view
you get passed here, is the TextView
of the clicked item, so it should be enough to do
((TextView)view).setText("Hey, I've just been tapped on!");
mListView.setOnClickListener(new OnItemClickListener(
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView mTextView = (TextView) view;
mTextView.setText("TextView was Clicked");
}
));