Android:提供设置页面功能

时间:2014-06-04 00:20:52

标签: android

在我的应用中,我在操作栏中有一个图标。当我点击它时,我得到一个名为Settings的选项。但是,当我点击此选项时,没有任何反应。我搜索过,但我无法找到如何使用此选项。我希望在Settings点击时打开一个对话框(如果另一个Activity打开也会很酷),然后我可以添加内容。有谁知道我会怎么做?

2 个答案:

答案 0 :(得分:1)

在res / menu /文件夹中查找main.xml。 (至少对于eclipse ADT)你可以在那里指定一个onClick属性,它将调用代码中的一个函数。从那里你可以做任何你想做的事。

修改

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity" >
<item
    android:id="@+id/fb_login"
    android:orderInCategory="100"
    android:showAsAction="never"
    android:title="@string/facebook_login_label"
    android:onClick="showFacebookDialog"/>
</menu>

这将为我的MainActivity定义项目,你可以在其中定义onClick,如此

public void showFacebookDialog(final MenuItem item)
{
    ...
}

答案 1 :(得分:1)

解决方案Dave S提供了有效但我想分享另一种方法来处理此功能。

在您的活动中,您可以使用以下代码与菜单进行互动:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // 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) {
        displaySettingsDialog();
    }
    return super.onOptionsItemSelected(item);
}

关键是要确保检查分配给菜单项的正确ID。

如果要启动新活动(SettingsActivity),则可以使用以下内容替换displaySettingsDialog()函数:

Intent intent = new Intent(this, SettingsActivity.class)
startActivity(intent);