【问题标题】:How to open options menu, change setting, and return - Android?如何打开选项菜单、更改设置和返回 - Android?
【发布时间】:2010-08-07 07:17:21
【问题描述】:

我正在尝试让我的应用打开设置菜单屏幕并返回。我遇到的问题是在设置页面中,按下后退按钮后,应用程序关闭。在经历了大约 8 个小时的战斗之后,我对一般的编程非常陌生,我准备寻求帮助!

这是我写的代码

`包com.bowersoftware.connecttozcu;

导入android.app.Activity; 导入android.os.Bundle; 导入 android.view.Menu; 导入 android.view.MenuInflater; 导入android.view.MenuItem; 导入 android.widget.ArrayAdapter; 导入 android.widget.Spinner; 导入android.widget.Toast;

公共类 ConnecttoZCU 扩展 Activity {

private Spinner mEngineSpinner;
private Spinner mUnitsSpinner;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mEngineSpinner = (Spinner) findViewById(R.id.engineSpinner);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
            this, R.array.engine, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    mEngineSpinner.setAdapter(adapter);

}

private void ConnectSettings() {
    setContentView(R.layout.settings);
    mUnitsSpinner = (Spinner) findViewById(R.id.unitsSpinner);
    ArrayAdapter<CharSequence> settingsadapter = ArrayAdapter.createFromResource(
            this, R.array.units, android.R.layout.simple_spinner_item);
    settingsadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    mUnitsSpinner.setAdapter(settingsadapter);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.option_menu, menu);
    return true;
}


@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle item selection
    switch (item.getItemId()) {
    case R.id.scan:
        Toast.makeText(this, "Scan", Toast.LENGTH_LONG).show();
        return true;
    case R.id.settings:
        Toast.makeText(this, "Settings", Toast.LENGTH_LONG).show();
        ConnectSettings();
        return true;
    default:
        return super.onOptionsItemSelected(item);
    }
}

}`

我确信我错过了一些愚蠢的东西,但就是想不通。

谢谢,杰森

【问题讨论】:

    标签: android


    【解决方案1】:

    ContactsSetting 应该是单独的 Activity。

    此时您只有一个 Activity,因此当您按下返回按钮时,应用程序将关闭。

    要开始新的活动使用:

    startActivity(new Intent(this, ContactsSetting.class));

    【讨论】:

    • darbat 是正确的!由于大多数程序都有超过 1 个活动,因此最好将您的菜单设置为单独班级中的共享菜单。这样,您可以从您允许的任何活动中更改设置。 Stackoverflow 有一个很好的例子:- stackoverflow.com/questions/2006457/…
    • 感谢您提供的信息,不幸的是,这似乎没有做到。我曾尝试创建一个新的类活动并调用它,但是在测试时我得到并错误说程序意外退出,当按下设置菜单项时。
    • 没关系...没有将活动添加到 AndroidManifest.xml。这是我一直在寻找的简单问题。我之前尝试过一项新活动,但没有成功。现在它可以工作了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    • 2011-05-11
    相关资源
    最近更新 更多