我正在尝试弄清楚如何在用户点击默认设置菜单项时显示Android中的PreferencesActivity。我已经按照本教程http://www.javacodegeeks.com/2011/01/android-quick-preferences-tutorial.html进行了操作,效果很好。但显示的第一件事是设置页面,因为清单是
<activity
android:name="com.example.myfirstapp.DisplayMessageActivity"
android:label="@string/title_activity_display_message"
android:parentActivityName="com.example.myfirstapp.MainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.myfirstapp.MainActivity" />
</activity>
现在,如果我将其移到我的主要活动之下(因此MainAcivity是第一个),那么MainActivity首先出现在我的应用程序中,但我无法通过菜单访问QuickPrefsActivity。
我是否需要添加菜单监听器才能打开QuickPrefsActivity?
答案 0 :(得分:0)
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Log.w(TAG, "onOptionsItemSelected");
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
Intent intent = new Intent(this, QuickPrefsActivity.class);
startActivity(intent);
return true;
}
return super.onOptionsItemSelected(item);
}
答案 1 :(得分:0)
你不需要在Manifest中定义代码,就像你在这里提到的那样,只是声明为普通的Activity
像
<activity android:name="your.package.QuickPrefsActivity" />
和java代码
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.settings) {
Intent intent = new Intent(this, QuickPrefsActivity.class);
startActivity(intent);
return true;
}