Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 存储要从另一个活动调用的活动列表的最佳方法_Java_Android - Fatal编程技术网

Java 存储要从另一个活动调用的活动列表的最佳方法

Java 存储要从另一个活动调用的活动列表的最佳方法,java,android,Java,Android,我有以下目标:从主活动中扩展ListActivity的列表中,我想开始其他活动 这是主要活动的代码: public class SelectionWidgetsExampleActivity extends ListActivity { private Class[] demos = {ListViewDemo.class, ChecklistDemo.class}; private ArrayAdapter<Class> aa; /** Called w

我有以下目标:从主活动中扩展ListActivity的列表中,我想开始其他活动

这是主要活动的代码:

public class SelectionWidgetsExampleActivity extends ListActivity {

    private Class[] demos = {ListViewDemo.class, ChecklistDemo.class};
    private ArrayAdapter<Class> aa;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        aa = new ArrayAdapter<Class>(this, android.R.layout.simple_list_item_1, demos);
        setListAdapter(aa);
    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        Intent intent = new Intent(this, demos[position]);
        startActivity(intent);
    }
}
你需要什么? 它将解决您的问题。

但是您最初(发布)的解决方案有什么问题?我宁愿保留它而不是使用动态类加载,只会将
demos
的修饰符更改为
private static final

我只是不确定使用类类型是否是一种不好的做法。另外,我在声明
Class[]demos
的行中得到一个警告,说Class是原始类型,我应该使用泛型。但是,当我将其更改为
Class[]demos={…}我得到一个错误,说不能创建类的泛型数组。有趣的一点。搜索了一下,找到了这条线。但是,在您的情况下,我会使用
@SuppressWarnings(“rawtypes”)
,因为您不关心实际的类,因为它们将被预定义,甚至不会被强制转换为
活动。
    SomeJavaClass.getMeClassFromString(demos[position])