2014-11-25 65 views
0

我已經開始學習Android編程和我接下來的教程了,如果我向清單xml中添加2個活動並且具有相同的意圖,我應該得到一個對話框讓我選擇其中一個,但它不會。我的Android版本是2.3。如何使用意向爲單個活動選擇活動?

AndroidManifest.xml中

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.frisodenijs.usingintent" > 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".main" 
      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=".SecondActivity" 
      android:label="@string/title_activity_second" > 
      <intent-filter> 
       <action android:name="com.frisodenijs.SecondActivity" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 

     <activity 
      android:name=".ThirdActivity" 
      android:label="Third Activity"> 
      <intent-filter> 
       <action android:name="com.frisodenijs.SecondActivity" /> 
       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 

    </application> 

</manifest> 

主要活動:

package com.frisodenijs.usingintent; 

import android.content.Intent; 
import android.support.v7.app.ActionBarActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.content.Intent; 


public class main extends ActionBarActivity { 

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

    public void onClick(View view) { 
     startActivity(new Intent(main.this, SecondActivity.class)); 
    } 
} 

次活動:

package com.frisodenijs.usingintent; 

import android.support.v7.app.ActionBarActivity; 
import android.os.Bundle; 


public class SecondActivity extends ActionBarActivity { 

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

} 

主要XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    tools:context=".main"> 


    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="To second button" 
     android:onClick="onClick"/> 

</RelativeLayout> 

次活動的xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    tools:context="com.frisodenijs.usingintent.SecondActivity"> 

    <TextView 
     android:text="This is the second activity" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 

</RelativeLayout> 

回答

0

與此更換你的onClick ...

public void onClick(View view) { 
    startActivity(new Intent("com.frisodenijs.SecondActivity")); 
} 
+0

它說,它無法找到符號類frisodenijs。我應該在代碼中做更多的修改嗎? – Friso 2014-11-25 13:03:53

+0

Ohh對不起,我的錯誤, 使用它這樣的 startActivity(new Intent(「com.frisodenijs.SecondActivity」)); – justDroid 2014-11-25 13:12:09

+0

謝謝,我知道現在彈出屏幕,但我遇到了另一個問題。如果我選擇第二個活動,它會起作用,但如果我選擇第三個活動,則應用程序崩潰。你知道這可能是爲什麼嗎? – Friso 2014-11-25 15:03:24