2011-12-31 29 views
0

我試圖打開我的課Speak2從我的主要活動在這個片段:我如何從主要活動中打開我的課程?

Intent i = new Intent("R.voice.Speak2"); 
startActivity(i); 

這是從第一個活動的完整代碼:

public class recon extends Activity implements OnClickListener { 

    ListView lv; 
    static final int check = 2000; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.voice); 
     lv = (ListView) findViewById(R.id.lvVoiceReturn); 
     Button b = (Button) findViewById(R.id.bVoice); 
     b.setOnClickListener(this); 
    } 

    public void onClick(View v) { 
     Intent i = new Intent(recon.this, Speak2.class); 
     startActivity(i); 
    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     // TODO Auto-generated method stub 
     super.onActivityResult(requestCode, resultCode, data); 
    } 

} 

我的程序很簡單。該按鈕從voice.xml佈局中顯示,按下後會啓動類活動Speak2。爲什麼第二個活動從不顯示?

+0

Java約定是用一個大寫字母開頭的類名。你的「偵察」類應該重新命名爲「偵察」以符合。更進一步,將其重命名爲「ReconActivity」將使其特別清楚該班級是什麼。清單文件 – tar 2014-06-10 05:42:50

回答

4

試試這種方式,並確保您的Activity Speak2也在您的AndroidManifest.xml中定義,否則您將會得到一個例外。

// MainActivity is your main activity 
Intent i = new Intent(MainActivity.this, Speak2.class); 
startActivity(i); 

<application>AndroidManifest.xml標籤應該是這樣的:

<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > 
    <activity android:label="@string/app_name" android:name="recon" > 
     <intent-filter > 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name="Speak2" /> 
</application> 
+0

,怎麼樣? user1121322 2011-12-31 18:00:45

+0

? – user1121322 2011-12-31 18:05:49

+0

這樣'<活動機器人:名稱=」。Speak2" />''內'看到 – 2011-12-31 18:09:32

相關問題