내보기의 텍스트는 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