SimpleCursorAdapterでlistviewを作成しました。各行に複数のビュー(4つのテキストビュー)が含まれています。SimpleCursorAdapter onClickのサブビュー(テキストビュー)にコンテキストメニューを追加する
テキストビューの1つにコンテキストメニューを追加しましたが、テキストビューのonclickは常に最後の行のデータ(最後の行のテキストビューのデータ)を与えます。
は、どのように私はすべてのヘルプは大歓迎この問題を修正することができます。
次のコードで、私は、テキスト上のユーザクリックが、私は、コンテキストメニューに登録する際のTextViewするのOnClickリスナーを設定しています:
は、以下の私のコードです。
public View getView(int position, View convertView, ViewGroup parent) { address = (TextView) row.findViewById(R.id.host_address);
address = (TextView) row.findViewById(R.id.host_address);
address.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
registerForContextMenu(address);
openContextMenu(address);
unregisterForContextMenu(address);
}
}); }
コンテキストメニュー:
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle(address.getText());
menu.add(0, OPEN_MAP, 0, "Open in maps");
menu.add(0, COPY_ADDRESS, 1, "Copy");
}
注: - **上記のコードで** address.getText()常に最後の行アドレスを返します。
上記の機能に関連するコードを投稿してください。 –
何も起こらない! –
@RameshRコードを追加しました。 – Joe