2012-08-02 73 views
0

當我點擊一個List Item時,它不會開始一個新的活動。是什麼原因?其他人已經實現了相同的代碼,並且程序正在工作。我該怎麼處理這個問題? 這裏是代碼:Android ListItem不工作

public class Menu extends ListActivity { 

    String classes[]={"StartingPoint","Splash", "You", "Dumb"}; 

    @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, classes)); 
    } 

    @Override 
    protected void onListItemClick(ListView l, View v, int position, long id) { 
     // TODO Auto-generated method stub 
     super.onListItemClick(l, v, position, id); 
     String cheese = classes[position]; 
     try { 
      Class ourclass = Class.forName("com.umer.splashscreenwithsound." + cheese); 
      //Class ourclass = Class.forName("com.umer.splashscreenwithsound.StartingPoint"); 
      Intent myintent = new Intent(Menu.this,ourclass); 
      startActivity(myintent); 
     } catch(ClassNotFoundException e) { 
      e.printStackTrace(); 
     } 
    } 
} 

請幫忙。

+0

您是否獲得,同時單擊某個項目的任何異常或沒有動靜的監聽器設置? – Praveenkumar 2012-08-02 14:05:04

+0

您是否爲清單中的每個類創建了條目? – 2012-08-02 14:11:07

+0

您的字符串數組中的項目是如此...瑣碎....:D(抱歉,嘿嘿)。你是否在調試器中運行代碼?如果您將斷點放入它,它會進入onListItemClick方法嗎?檢查這篇文章http://www.vogella.com/articles/AndroidListView/article.html – 2012-08-02 14:19:28

回答

1

您需要在OnCreate()點擊

@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, classes)); 
     ListView lv = getListView(); 
     lv.setOnItemClickListener(this); 
    } 
+0

而您的'Activity'應該'實現OnItemClickListener'接口。 – tolgap 2012-08-10 17:35:16