我的視圖上的文字代表一個id。所以點擊時,我想獲得對該資源的參考。以下不正確的代碼代表我正在嘗試執行的操作將「R.id.myID」從一個字符串轉換爲int值R.id.myID?
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.categories);
Bundle bundle = getIntent().getExtras();
int myArrayID = bundle.getInt("category_id", 0);
String [] myArray = getResources().getStringArray(myArrayID);
setListAdapter(new CategoryAdapter(this, android.R.layout.simple_list_item_1, R.id.categoryText, myArray));
ListView lv = getListView();
lv.setTextFilterEnabled(true);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
String myIdString = (String) ((TextView) view.findViewById(R.id.categoryText)).getText();
int myIdInt = // convert to the correct id that is represented by this string myIdString
Intent intent = new Intent(Categories.this, Categories.class);
intent.putExtra("category_id", myIdInt);
startActivity(intent);
}
});
}
我明白爲什麼此方法不起作用。例如,視圖將會有文本「example1」,然後會有一個需要引用的R.id.example1值。很明顯,我接近這個錯誤的方式,並希望得到一些指導。
編輯 - 更多的代碼按要求。
編輯2-差的描述。所以我的活動是一個自定義列表。當單擊其中一個視圖時,該項目的標題將對應於我在strings.xml中的字符串數組。所以如果按下「example1」,將會有一個ID爲R.array.example1的字符串數組。我希望我的代碼能夠提取視圖的文本,並使用它來查找正確的字符串數組。然後這個字符串數組將被用來填充一個新的活動,用自定義列表項來排列數組中的項目
您能否提供一個更完整的代碼示例來說明當前的情況。 – rabs