Android教程(第一个)应用程序崩溃了

时间:2015-01-19 15:04:51

标签: java android android-intent android-activity

坚持myfirstapp tutorial。 所以,点击按钮后应用程序崩溃了。 这里有一些回答的问题(stackoverflow)但在我的情况下错误是: "无法找到显式活动类{com.murr.mid.clanscript / com.mid.test.MainActivity $ DisplayMessageActivity};你有没有在AndroidManifest.xml中声明这个活动?"

的AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".DisplayMessageActivity"
        android:label="@string/title_activity_display_message"
        android:parentActivityName=".MainActivity">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".MainActivity"/>
    </activity>
</application>

无法获得它,为什么要求MainActivity $ DisplayMessageActivity?

更多代码:

  

公共类MainActivity扩展了ActionBarActivity。绑定到按钮onClick

的方法
public void sendMessage(View view) {

    Intent intent = new Intent(this, DisplayMessageActivity.class);
    EditText et = (EditText) findViewById(R.id.edit_message);
    String msg = et.getText().toString();
    intent.putExtra(EXTRA_MSG, msg);
    startActivity(intent);
}


//public class DisplayMessageActivity extends ActionBarActivity.
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //Intent intent = getIntent();
    //String message = intent.getStringExtra(MainActivity.EXTRA_MSG);
}

3 个答案:

答案 0 :(得分:0)

您没有在清单中定义包,因此无法找到您的MainActivity类。

在此处阅读Android Manifest,特别是Defining Class Names段。

答案 1 :(得分:0)

尝试将AndroidManifest.xml更改为

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.murr.mid.clanscript" >
<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".DisplayMessageActivity"
        android:label="@string/title_activity_display_message"
        android:parentActivityName=".MainActivity">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".MainActivity"/>
    </activity>
</application>
</manifest>

答案 2 :(得分:0)

解决。感谢Selvin和他的comment我的问题。 所以,我有一个坏习惯,可以在阅读之前玩教程并运行代码。

在本教程中,我们有一个代码:

Intent intent = new Intent(this, DisplayMessageActivity.class);

并且此代码生成错误,因为我们尚未定义DisplayMessageActivity。我将此类添加到MainActivity文件。并忘了它。 不喜欢我。阅读教程到最后:) 感谢你的关注,伙计们。