我有一个问题,从菜单中的项目就像一个按钮,我不知道如何解决它。
在菜单中的项目中,我可以像这样扩展到可扩展的项目:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/item1" android:title="Item1" />
<item android:id="@+id/item2" android:title="Item2" />
</menu>
并且我不知道如何定义它,并像按钮一样使用它,如下所示:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String uri=null;
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,
RingtoneManager.TYPE_RINGTONE);
if (uri !=null) {
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI,
Uri.parse(uri));
} else {
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI,
(Uri)null);
}
startActivityForResult(intent, 1);
}
});
提前致谢,
答案 0 :(得分:0)
所以你想要实现一个菜单。对于API 10或更低版本,将menu.xml放在res / menu /中并覆盖活动中的这两个函数:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.item1:
// Do something
break;
case R.id.item2:
// Do something else
break;
}
return true;
}
对于API 11+,请考虑将操作栏用作explained here.
<强>更新强>
对于“首选项”菜单,您将需要使用findPreference()并定义自定义setOnPreferenceClickListener()。而不是在这里复制代码片段,请遵循以下三个详细教程中的任何一个: