我刚接触Android。我正在学习有关在活动中传递意图的信息。这是我在2个活动之间传递Intent的代码。


MainActivity.java

public class MainActivity extends ActionBarActivity {

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

Button b1 = (Button)findViewById(R.id.btOk);
b1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        EditText etName = (EditText)findViewById(R.id.etName);
        String Data = etName.getText().toString();

        Intent i = new Intent("com.adhish.passingintentdata.layout2");
        Bundle extras = new Bundle();
        extras.putString("Name", Data);
        i.putExtras(extras);
        startActivityForResult(i,1);
    }
});
}

layout2.java

public class layout2 extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_layout2);

String myName = null;
Bundle extras = getIntent().getExtras();
if(extras != null)
{
    myName = extras.getString("Name");
}

TextView tvData = (TextView)findViewById(R.id.tvData);
tvData.setText(myName);
}
}

Manifest.xml

<application
android:allowBackup="true"
android:icon="@mipmap/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=".layout2"
    android:label="@string/title_activity_layout2"
    android:parentActivityName=".MainActivity" >
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value="com.adhish.passingintentdata.MainActivity" />
</activity>





当我运行此代码并单击“确定”按钮以传递数据时,我的应用程序崩溃并出现致命错误。

错误是:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.adhish.passingintentdata.layout2 (has extras) }


请为我提供有关解决此问题的详细帮助,因为我是Android新手。

谢谢。

最佳答案

请改用以下意图:

Intent i = new Intent(MainActivity.this, layout2.class);

07-22 11:49