각 항목에 대한 텍스트와 그림이 포함 된 ListView가 있습니다 (실제로 행입니다). 그 중 하나를 클릭하면 리스너가 트리거되고 대화 상자가 열립니다.ListView의 값을 대화 상자에서 가져 오는 방법
대화 상자에 표시된 내용은 ListView의 항목에서 검색됩니다. 몇 가지 방법을 시도했지만 전달 된 매개 변수는 모두 null 포인터입니다.
말하기, listview의 레이아웃에있는 hotelName의 값을 가져 오려고합니다. 해당 TextView의 ID는 R.id.nameTV입니다.
final Context context = this;
public void onCreate(Bundle blabla){
final ListView listView = getListView();
listView.setTextFilterEnabled(true);
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
final Dialog dialog = new Dialog(context);
// this is the TextView in Dialog to hold the content from ListView
TextView dHotelTV = (TextView)findViewById(R.id.hotelNameTV);
CharSequence hotelName;
/*
The way I tried:
hotelName = context.getText(R.id.nameTV);
hotelName = view.findViewById(R.id.nameTV);
*/
dialog.setTitle("EasyTrip");
dialog.setContentView(R.layout.dialog);
dHotelTV.setText(hotelName)
}
}
이 메소드의 hotelName은 모두 null 포인터입니다. 나를 미치게 해.
내가 뭘 잘못하고 있니?
보기에는 호텔 이름 이상의 서비스가 포함되어 있습니다. 그것은 다른 textviews – ssb
을 가지고 있습니다. 그래서 당신은 데이터를 원할 textview의 id가 무엇입니까? 위의 편집 참조 – JRaymond
두 번째 힌트가 정말 도움이됩니다! 그러나 hotelName = ((TextView) findViewById (R.id.my_important_textview)). getText(), "my_important_textview"가 선택된 것임을 어떻게 알 수 있습니까? – ssb