2

我正在尝试将一个类数组添加到我的 Listview 中。

在调试时它卡在 setListAdapter 行上,没有任何特殊错误。

当我编译它时,它会通过我的启动屏幕并打开 menu.java 但是当我单击列表上的项目时没有任何反应。

这是我的 Menu.java

package com.android;
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 Menu extends ListActivity {

    String classes[] = { "MainActivity", "Acl", "Bcl", "Ccl",
            "Dcl", "Ecl", "Fcl" };

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setListAdapter(new ArrayAdapter<String>(Menu.this,
                android.R.layout.simple_list_item_1, classes));

    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {

        super.onListItemClick(l, v, position, id);
        String classpos = classes[position];
        try {

            Class ourClass = Class.forName("com.android.MainActivity"  classpos);
            Intent ourIntent = new Intent(Menu.this, ourClass);

            startActivity(ourIntent);
        } catch (ClassNotFoundException e) {

            e.printStackTrace();
        }

    }
}

这里是我的 AndroidManifest.xml 代码相关部分

<activity
            android:name=".MainActivity"
            android:exported="false"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="com.android.MAINACTIVITY" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
4

1 回答 1

0

在您的代码中创建类名时出错。

尝试这个,

String classpos = "com.android."+classes[位置];

类 ourClass = Class.forName(classpos);

于 2012-12-01T12:22:49.310 回答