2

编辑

发生的问题是由于我将清单中设置活动的父级设置为全部小写,这不是主要活动路径的正确格式。


我最初的应用程序目标是成功实现加载和保存按钮(您猜对了)加载和保存数据(到外部 sd 卡上的文本文件)。成功实现此功能后,我决定使用可更改字体大小和颜色的设置文件来使用共享首选项。我设置了一个菜单,该菜单将通过一个意图运行我的设置活动。设置活动由 sdk 生成,但在您按下操作栏上的后退按钮后似乎崩溃了。 应用程序、logcat 文件和我的源代码的屏幕截图如下。感谢您的时间!


这是用于启动设置活动的方法。

public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.menu_settings:
            Intent intent = new Intent(this, SettingsActivity.class);
            startActivity(intent);
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

这是生成的设置活动。

package com.spacemanspiff.savefiles;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v4.app.NavUtils;

public class SettingsActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_settings);
    getActionBar().setDisplayHomeAsUpEnabled(true);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_settings, menu);
    return true;
}


@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            NavUtils.navigateUpFromSameTask(this);
            return true;
    }
    return super.onOptionsItemSelected(item);
}

}


4

1 回答 1

1
The crash can be rectified by adding the **android:parentActivityName** in the manifest    file for the child activity.
    E.g.


       <activity
            android:name="com.example.projectlearn.ActivityTwo"
            android:label="@string/title_activity_two"
            android:parentActivityName="com.example.projectlearn.MainActivity" >
        </activity>
于 2013-04-19T06:02:34.063 回答