簡體   English   中英

存儲要從另一個活動調用的活動列表的最佳方式

[英]Best way to store list of activities to be called from another activity

我有以下目標:從擴展 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);
    }
}

我的問題是

您將如何解決在主要活動的代碼之外執行的類列表的問題?

我的第一個想法是將它作為字符串數組放入 xml 資源文件中。 然后我可以輕松地從資源中創建字符串數組,但不知道如何將字符串轉換為 class - 我需要類似的東西:

    SomeJavaClass.getMeClassFromString(demos[position])

你需要Class#forName(String className)嗎? 它將解決您的問題。
但是您最初的(發布的)解決方案有什么問題? 我寧願保留它也不願使用動態 class 加載,只會將demos的修改器更改為private static final

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM