我无法显示ListActivity

时间:2013-03-04 02:21:13

标签: android

应用程序没有崩溃,但我只是得到一个空白页面...继承人代码告诉我,如果你需要更多,抱歉,如果我做错了似乎我必须添加更多的信息,我真的不知道要添加什么可能是我有错误的进口或somthing?:

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>

3 个答案:

答案 0 :(得分:2)

试试这个

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

您从未将您的classNames添加到ArrayAdapter

答案 1 :(得分:1)

只需使用类型安全的.class引用,而不是String。试试

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

将ActivityLaunchingFrom替换为您从另一个开始的Activity的实际名称。您必须使用“限定此”语法,否则this会引用onClickListener

如果你真的想要数组中的类,那么只需要使它成为像

这样的类的数组
    Class[] classes = {Main.class, Menu.class, TutorialTwo.class};

答案 2 :(得分:0)

也许在Intent中的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"));