我寧願使用的「2131427332」 shareButton「這一翻譯時,參照項目點擊,帶來了onCreateContextMenu()
。我怎樣才能做到這一點?
說明:
我有兩個上下文菜單的活動。所以,在我的onCreateContextMenu()
方法中,我檢索被點擊的項目的ID,並且膨脹相應的菜單。
但是 - 我知道如何做到這一點的唯一方法是使用v.getId();
- 這看起來很糟糕/奇怪,因爲我在我的if區塊中使用了系統生成的ID,而不是我自己創建的ID。有一個更好的方法嗎?這個id會改變嗎?我可以使用XML項目的ID而不是此自動生成的ID嗎?在R.
if(v.getId() == R.id.my_custom_id)
{
}
,我記得前一段時間的ID:
代碼:
/**
* Opens the context menu(s)
*/
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo)
{
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
if(v.getId() == 2131427332)
{
inflater.inflate(R.menu.share_menu, menu);
}
else if(v.getId() == 2131427329)
{
inflater.inflate(R.menu.options_menu, menu);
}
}
完美,謝謝! – Dave
我認爲我的minSdkVersion 8是這樣的,所以我只能在switch語句中使用整數? – Dave
@Dave這兩個開關,如果將工作,它與API級別無關。圖書館項目只有一個問題:http://tools.android.com/tips/non-constant-fields – brillenheini