问题描述
- Android使用Switch控件会出现一串数字
-
JAVA代码部分private void initLeftMenu() { //侧滑菜单初始化函数,设置Adapter this.initTextSwitch("自动更新"); this.initTextSwitch("多彩界面"); this.initExpList(); this.initExpList(); this.leftMenuListDataAdapter1 = new SimpleAdapter(this, this.leftMenuDataList, R.layout.liststyle_text_swc, new String[]{"btnName","setBtn"}, new int[]{R.id.btnName,R.id.setSwitch}); this.leftMenuList.setAdapter(leftMenuListDataAdapter1); // this.leftMenuListDataAdapter2 = new SimpleAdapter(); // this.leftMenuList.setAdapter(leftMenuListDataAdapter2); /** 未实现 **/ } private void initTextSwitch(String value){ //侧滑菜单初始化函数,初始化<TextView+Switch>,被initLeftMenu()方法调用 Map<String,String> map = new HashMap<String,String>(); map.put("btnName",value); map.put("setBtn",String.valueOf(R.id.setSwitch)); leftMenuDataList.add(map); }
XML文件代码
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <TextView android:id="@+id/btnName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="14sp" android:textColor="#de000000" android:layout_marginLeft="16dp" /> <Switch android:id="@+id/setSwitch" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="72dp" /> </LinearLayout> ![图片说明](http://img.ask.csdn.net/upload/201509/16/1442365436_853667.jpg)
解决方案
解决方案二:
text显示的应该是你设置的String.valueOf(R.id.setSwitch),组件的id值
解决方案三:
map.put("setBtn",String.valueOf(R.id.setSwitch));
你在这里吧控件的ID显示出来了。
当然就是一串数字了。
解决方案四:
楼主自己发现错误,回答一下吧。
private void initLeftMenu() {
//侧滑菜单初始化函数,设置Adapter
this.initTextSwitch("自动更新");
this.initTextSwitch("多彩界面");
this.initExpList();
this.initExpList();
this.leftMenuListDataAdapter1 = new SimpleAdapter(this,
this.leftMenuDataList,
R.layout.liststyle_text_swc,
new String[]{"btnName","setBtn"},
new int[]{R.id.btnName,R.id.setSwitch});
//此行错误,应改成 new int[]{R.id.setSwitch});
this.leftMenuList.setAdapter(leftMenuListDataAdapter1);
// this.leftMenuListDataAdapter2 = new SimpleAdapter();
// this.leftMenuList.setAdapter(leftMenuListDataAdapter2);
/** 未实现 **/
}
private void initTextSwitch(String value){
//侧滑菜单初始化函数,初始化<TextView+Switch>,被initLeftMenu()方法调用
Map<String,String> map = new HashMap<String,String>();
map.put("btnName",value);
map.put("setBtn",String.valueOf(R.id.setSwitch));
leftMenuDataList.add(map);
}
解决方案五:
你把R文件里的控件id传进去了
解决方案六:
你把R文件里的控件id传进去了,应该是 String.valueOf(getString(R.id.setSwitch))
时间: 2024-09-24 03:33:57