Я создал список с двумя текстовыми представлениями в качестве имени и номера телефона. и перед этой кнопкой переключения. я должен получить имя, когда я нажимаю на кнопку переключения. но выдает ошибку как
'02-17 06:49:53.170: E/AndroidRuntime(1425): java.lang.ClassCastException: android.widget.TextView нельзя преобразовать в android.widget.ToggleButton 02-17 06:49:53.170: E/AndroidRuntime( 1425): в com.example.comparearray.MainActivity$1.onItemClick(MainActivity.java:85) 02-17 06:49:53.170: E/AndroidRuntime(1425): в android.widget.AdapterView.performItemClick(AdapterView.java: 299) 02-17 06:49:53.170: E/AndroidRuntime(1425): в android.widget.AbsListView.performItemClick(AbsListView.java:1113) 02-17 06:49:53.170: E/AndroidRuntime(1425): в android.widget.AbsListView$PerformClick.run(AbsListView.java:2904) 02-17 06:49:53.170: E/AndroidRuntime(1425): в android.widget.AbsListView$3.run(AbsListView.java:3638) 02- 17 06:49:53.170: E/AndroidRuntime(1425): на android.os.Handler.handleCallback(Handler.java:733) 02-17 06:49:53.170: E/AndroidRuntime(1425): на android.os. Handler.dispatchMessage(Handler.java:95) 02-17 06:49:53.170: E/AndroidRuntime(1425) : в android.os.Looper.loop(Looper.java:136) 02-17 06:49:53.170: E/AndroidRuntime(1425): в android.app.ActivityThread.main(ActivityThread.java:5017) 02-17 06:49:53.170: E/AndroidRuntime(1425): в java.lang.reflect.Method.invokeNative(собственный метод) 02-17 06:49:53.170: E/AndroidRuntime(1425): в java.lang.reflect. Method.invoke(Method.java:515) 02-17 06:49:53.170: E/AndroidRuntime(1425): в com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 02-17 06:49:53.170: E/AndroidRuntime(1425): в com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 02-17 06:49:53.170: E/AndroidRuntime(1425): в dalvik .system.NativeStart.main (собственный метод)
ниже мой код
lvCountries = (ListView) findViewById(R.id.lv_countries);
OnItemClickListener itemClickListener = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> lv, View item, int position, long id) {
ListView lView = (ListView) lv;
SimpleAdapter adapter = (SimpleAdapter) lView.getAdapter();
HashMap<String,Object> hm = (HashMap) adapter.getItem(position);
/** The clicked Item in the ListView */
RelativeLayout rLayout = (RelativeLayout) item;
/** Getting the toggle button corresponding to the clicked item */
ToggleButton tgl = (ToggleButton) rLayout.getChildAt(1);
String strStatus = "";
if(tgl.isChecked()){
tgl.setChecked(false);
strStatus = "Off";
status[position]=false;
}else{
tgl.setChecked(true);
strStatus = "On";
status[position]=true;
}
Toast.makeText(getBaseContext(), (String) hm.get("txt") + " : " + strStatus, Toast.LENGTH_SHORT).show();
}
};
lvCountries.setOnItemClickListener (itemClickListener);
пожалуйста, помогите мне, я застрял здесь.
rLayout.getChildAt(1);
даст вамToogleButton
? Вероятно, этоrLayout.getChildAt(2);
... - person miselking   schedule 18.02.2015