问题描述
- 关于ExpandableListView中的Adapter问题
-
我在ExpandableListview的二级菜单里面加了EditTest文本框,但是在调试时就出现了很奇怪的问题:但我点击子标签的文本框时键盘弹出来但是获取不了焦点,要再点一次文本框才能输入内容,而输入完后键盘一收起来刚输入的文本就没了,请问这个该怎么解决?private class MyExpendAdapter extends BaseExpandableListAdapter{ /** * pic state */ int []group_state=new int[]{R.drawable.group_right,R.drawable.group_down};//向左、向下小图标 /** * group title */ String []group_title=new String[]{"基本信息","商品详情","活动"}; /** * child text */ String [][] child_text=new String [][]{ {"商品名称","商品价格","商品标签","商品特色","品牌"}, {"商品颜色","重量","材料","尺码","产地"}, {"张三","仇斌","温志豪","黎伦"}}; /** * 获取一级标签中二级标签的内容 */ @Override public Object getChild(int groupPosition, int childPosition) { return child_text[groupPosition][childPosition]; } /** * 获取二级标签ID */ @Override public long getChildId(int groupPosition, int childPosition) { return childPosition; } /** * 对一级标签下的二级标签进行设置 */ @SuppressLint("SimpleDateFormat") @Override public View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) { convertView=getLayoutInflater().inflate(R.layout.child, null); TextView tv=(TextView) convertView.findViewById(R.id.tv); //TextView time=(TextView) convertView.findViewById(R.id.time); EditText ed1 =(EditText)convertView.findViewById(R.id.edit_1); tv.setText(child_text[groupPosition][childPosition]); ed1.setText(child_text[groupPosition][childPosition]); //获取系统事件 // long times=System.currentTimeMillis(); //SimpleDateFormat format=new SimpleDateFormat("yyyy年mm月dd日hh时mm分ss秒"); //String date=format.format(times); //time.setText(date); ed1.setText(ed1.getText()); return convertView; } /** * 一级标签下二级标签的数量 */ @Override public int getChildrenCount(int groupPosition) { return child_text[groupPosition].length; } /** * 获取一级标签内容 */ @Override public Object getGroup(int groupPosition) { return group_title[groupPosition]; } /** * 一级标签总数 */ @Override public int getGroupCount() { return group_title.length; } /** * 一级标签ID */ @Override public long getGroupId(int groupPosition) { return groupPosition; } /** * 对一级标签进行设置 */ @Override public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) { convertView=getLayoutInflater().inflate(R.layout.group, null); ImageView iv=(ImageView) convertView.findViewById(R.id.iv); TextView tv=(TextView) convertView.findViewById(R.id.iv_title); iv.setImageResource(R.drawable.group_right); tv.setText(group_title[groupPosition]); if(group_click[groupPosition]%2==0){ iv.setImageResource(R.drawable.group_right); }else{ iv.setImageResource(R.drawable.group_down); } return convertView; } /** * 指定位置相应的组视图 */ @Override public boolean hasStableIds() { return true; } /** * 当选择子节点的时候,调用该方法 */ @Override public boolean isChildSelectable(int groupPosition, int childPosition) { return true; } }
解决方案
ExpandableListView的注意问题
ExpandableListView的注意问题
关于adapter的getView的position问题
时间: 2024-09-12 06:38:48