将String数组添加到setListAdapter中

时间:2012-12-01 12:07:42

标签: android listview

我正在尝试将一个Class数组添加到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>

1 个答案:

答案 0 :(得分:0)

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

试试这个,

String classpos =“com.android。”+ classes [position];

Class ourClass = Class.forName(classpos);