2013-03-04 98 views
0

應用程序不會崩潰,但我只是得到一個空白頁面......繼承人代碼告訴我,如果你需要更多,對不起,如果我做這個錯誤似乎我必須添加更多的信息,我真的不知道添加什麼可能是我有錯的進口或財產以後?:我不能讓ListActivity顯示

package com.eric.thebasics; 




import android.app.ListActivity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 


public class TutorialTwo extends ListActivity { 

String classNames[] = {"main", "menu", "Sweet", "TutorialOne"}; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1)); 
} 

protected void onListItemClick(ListView lv, View v, int position, long id){ 
    super.onListItemClick(lv, v, position, id); 
    String openClass = classNames[position]; 
    try{ 
     Class selected = Class.forName("com.eric.thebasics." + openClass); 
     Intent selectedIntent = new Intent(this,selected); 
     startActivity(selectedIntent); 
    }catch (ClassNotFoundException e){ 
     e.printStackTrace(); 
    } 
} 

}

這裏的按鈕代碼:

tut2.setOnClickListener(new View.OnClickListener() { 


     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      buttonSound.start(); 
      startActivity(new Intent("com.eric.thebasics.TUTORIALTWO")); 

這裏是明顯的:

<activity 
     android:name=".TutorialTwo" 
     android:label="@string/app_name" > 
     <intent-filter> 
      <action android:name="com.eric.thebasics.TUTORIALTWO" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
    </activity> 

回答

2

試試這個

setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, classNames)); 

你永遠不會加入你的類名到一個ArrayAdapter

+0

哇,好難過大聲笑..... tyvm – 2013-03-04 02:46:28

+0

哈哈容易犯錯! – ElefantPhace 2013-03-04 02:48:15

0

也許TutorialTwo的意圖是所有大寫,名心不是

tut2.setOnClickListener(new View.OnClickListener() { 


    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     buttonSound.start(); 
     startActivity(new Intent("com.eric.thebasics.TutorialTwo")); 
+0

數組引用清單所以應該全部大寫?無論如何,我嘗試過,並導致崩潰。 – 2013-03-04 02:40:18

+0

對不起,去跟那個說你沒有填充你的適配器的傢伙 – JRowan 2013-03-04 02:42:09

1

只需使用。這是類型安全的類引用,而不是字符串。嘗試

startActivity(new Intent(ActivityLaunchingFrom.this, TutorialTwo.class)) 

將ActivityLaunchingFrom替換爲您啓動另一個Activity的實際名稱。您必須使用「合格的」這種語法,否則this指的是onClickListener

如果你真的想在陣列中的類,然後只是使它的類,如

Class[] classes = {Main.class, Menu.class, TutorialTwo.class}; 
+0

這很有幫助,但不是他的問題。他只看到一個空白屏幕,因爲他的ArrayAdapter中沒有任何東西 – ElefantPhace 2013-03-04 02:33:45