1
私は、Androidのプログラミングと学習には初めてです。私は現在、ユーザーが着信音または通知としてサウンドを設定することを可能にするサウンドボードを開発中です。コンテキストメニューが正常にセットアップされたので、コンテキストメニュー内でユーザーがクリックした内容を区別することができます。私の唯一の問題は、どのボタンがコンテキストメニューをトリガしたかを知る方法がわからないことです。誰でも助けることができますか?ContextMenuをトリガしたPass Button
おかげ ジャスティン
編集:私は解決策を見つけることができました。ここで私はそれをやった方法です:それを行うには
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options_menu, menu);
lastButton = (Button) v;
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId()) {
case R.id.Ringtone:
if(lastButton == SoundButton)
Toast.makeText(getApplicationContext(), "Ringtone soundbutton selected", Toast.LENGTH_SHORT).show();
return true;
case R.id.Notification:
if(lastButton == SoundButtonButton){
Toast.makeText(getApplicationContext(), "Notification soundbutton set", Toast.LENGTH_SHORT).show();
}
return true;
default:
return super.onContextItemSelected(item);
}
}
ボタンのIDを設定すると、レイアウトが乱れる原因となります。いくつかのボタンが互いの上にあります。また、layout.xmlで宣言されているボタンのIDを使用することもできません。 –
私はそれを理解した。助けてくれてありがとう。 –