Android ICS 連絡先の移植に取り組んでいます。スター付き (お気に入り) TAB のコンテキスト メニューを追加したいのですが、その Fragment の ListView は非常に特別です。通常の ListView があり、ListView のすべてのアイテムには 2 つの小さなカスタマイズされたビューがあります。ユーザーが小さなビューを長時間押すと、コンテキスト メニューが表示されるように実装したいと考えています。私はどのように行いますか?ヒントをください!どうもありがとう!
1746 次
2 に答える
1
カスタマイズされた List-Items を使用している場合は、目的のビューに特定のコールバック ルーチンを登録できます。これを行う場所は、bindView() または getView() メソッドです。
TextView tt = (TextView) v.findViewById(R.id.text1);
TextView bt = (TextView) v.findViewById(R.id.text2);
tt.setOnLongClickListener(myLongOnClickListener);
于 2012-04-10T09:00:13.140 に答える
1
小さなビューを作成する場所にこれを追加し、
registerForContextMenu(YourSmallView);
あなたのアクティビティでは、コンテキストメニューを処理できます
@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Context Menu");
menu.add(0, v.getId(), 0, "Action 1");
menu.add(0, v.getId(), 0, "Action 2");
}
@Override
public boolean onContextItemSelected(MenuItem item) {
if(item.getTitle()=="Action 1"){
function1(item.getItemId());
}
else if(item.getTitle()=="Action 2"){
function2(item.getItemId());
}
else {
return false;
}
return true;
}
または、ロングクリックリスナーをビューに設定できます
view.setOnLongClickListener(listener);
于 2012-04-10T08:55:21.973 に答える