我寫了基於ViewSwitcher一個視圖類,現在我想寫助手類像已知形式的視圖ListView控件:ListAdapter,ListActivity等..使用某種形式的「外部ID」爲視圖
關於我遇到問題的活動課。 ListActivity強制你用一個固定的ID爲你的活動添加一個ListView:@id/android:list。在我的基類的活動我要歸檔相同,迫使一個特殊的ID,以便我的助手類可以訪問視圖對象。
正如我寫,可以在不同的項目中使用,我不能使用R.id.foobar得到的觀點,因爲沒有R類別的通用庫。具體項目將自己的R.java。
所以我偷看ListActivity的源代碼,發現:
View emptyView = findViewById(com.android.internal.R.id.empty);
mList = (ListView)findViewById(com.android.internal.R.id.list);
if (mList == null) {
throw new RuntimeException(
"Your content must have a ListView whose id attribute is " +
"'android.R.id.list'");
}
好吧,我可以寫我的R艙,把它直接進入我的包,並嘗試訪問它以同樣的方式,但我我不知道id應該有什麼價值?
而且我找不到在android_frameworks_base /核心/ JAVA/COM/Android的任何R類別/內部
而且,即使這個問題就解決了:哪有我的自由獲取「我的ID」用戶從他的佈局XML?
感謝您的幫助! :)
謝謝!資源#getIdentifier()是解決此問題的好方法:) – pocmo 2009-12-19 22:59:41