6

これは、件名に関連するマニフェスト コードです。

   <activity
        android:name="smartHomes.capstone.GeneralAndSecurity"
        android:label="@string/title_activity_general_and_security"
        android:parentActivityName="smartHomes.capstone.HomePage" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="smartHomes.capstone.HomePage" />
    </activity>

これはエラーログです:

   03-20 21:19:18.227: E/AndroidRuntime(787): FATAL EXCEPTION: main
   03-20 21:19:18.227: E/AndroidRuntime(787): java.lang.IllegalArgumentException: Activity           GeneralAndSecurity does not have a parent activity name specified. (Did you forget to add the  android.support.PARENT_ACTIVITY <meta-data>  element in your manifest?)
   03-20 21:19:18.227: E/AndroidRuntime(787):   at android.support.v4.app.NavUtils.navigateUpFromSameTask(NavUtils.java:177)
   03-20 21:19:18.227: E/AndroidRuntime(787):   at smartHomes.capstone.GeneralAndSecurity.onOptionsItemSelected(GeneralAndSecurity.java:41)
   03-20 21:19:18.227: E/AndroidRuntime(787):   at com.actionbarsherlock.app.SherlockActivity.onMenuItemSelected(SherlockActivity.java:208)

戻るボタンがエラーを返す理由を教えてください。

4

3 に答える 3

2

私は同じ問題を抱えていましたが、それは単にパッケージ名のタイプミスでした. パッケージとクラス名を再確認しましたか?

于 2014-02-12T12:32:35.200 に答える
2

同じことがなくても私にとってはうまくいきましたmeta-data

これが私の例です。

    <activity android:name="com.redplanet.sandboxandroid.ui.MainActivity" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.redplanet.sandboxandroid.ui.SecondActivity"
        android:parentActivityName="com.redplanet.sandboxandroid.ui.MainActivity" >
    </activity>

SecondActivityのクラス。

public class SecondActivity extends SherlockFragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.countries_list);

        ActionBar actionBar = getSupportActionBar();
        actionBar.setDisplayOptions(ActionBar.DISPLAY_HOME_AS_UP | ActionBar.DISPLAY_SHOW_TITLE);

    }

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

    }

}
于 2013-06-06T11:45:35.113 に答える