调试-关于ExpandableListView中的Adapter问题

问题描述

关于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

调试-关于ExpandableListView中的Adapter问题的相关文章

android代码优化----ListView中自定义adapter的封装

[正文] [引入] 我们一般编写listView的时候顺序是这样的: 需要展示的数据集List<T> 为这个数据集编写一个ListView 为这个ListView编写一个Adapter,一般继承自BaseAdapter 在BaseAdapter内部编写一个ViewHolder类,对应ListView里面的item控件,提高控件的查询效率 分析: List<T>:ListView --> Adapter extends BaseAdapter --> ViewHolder

[Android 调试] chrome 调试android 程序中的 webview

问题描述 [Android 调试] chrome 调试android 程序中的 webview RT,pc chrome版本 44.0.2369.0 m ,调试手机中的 chrome 程序没有问题,调试自己应用中的webview时,chrome://inspect/#devices 页面正常,也能看到我的html,点击inspect 时,空白窗口一闪而过,多点击几次 出现 "Cannot load DevTools frontend from an untrusted origin?remote

listview-在Activity中调用Adapter.getView更改不了某控件的状态

问题描述 在Activity中调用Adapter.getView更改不了某控件的状态 在activity中调用adapter.gerView方法(此adapter是继承baseAdapter的而来的),得到了某个控件在listView列表项中的View,然后通过这个View.FindViewByID找到这个控件,最后更新控件的状态,但是为什么不起作用? PS : 下面那个state的值是在广播中收到的消息,由于太多就不一一贴出来了. MyAdapter adapter = new MyAdapt

expandablelistview-通过输入关键字来搜索ExpandableListView中数据

问题描述 通过输入关键字来搜索ExpandableListView中数据 我想用一个搜索框EditView或者SearchView,通过输入关键字来搜索ExpandableListView中二级菜单中的数据(ExpandableListView总共就两级数据),用listView会用,但是ExpandableListView试了好久,找了好多方法,都不会用.求大神指教 解决方案 网上找代码,先照着抄 一个,搞明白了,再做你自己的,其实和listview没啥区别,ExpandableListVie

java-Android的listview问题中的adapter

问题描述 Android的listview问题中的adapter @Override public View getView(int position, View convertView, ViewGroup parent) { convertView =LayoutInflater.from(MainActivity.this).inflate(R.layout.activity_main, null); if(convertView!=null) { textview=(TextView)

如何调试系统启动过程中systemd的代码

之前写过很多kernel的gdb debug, 其实用户态也是可以调试的, 只是在共享库的动态地址上不是很好处理, 最近同事有调试系统启动过程中systemd的需求, 简单研究了一下 其实qemu kvm打断点并不区别kernel还是用户态, 都是rip的值等于某个地址或者遇到断点指令了, 所以开机的时候把断点打到systemd的main上就可以了 但是其实另外一个问题是, 用户态的地址是很多进程共享的, 这时候有可能会另一个进程也跑到了这个地址, 所以断点就需要条件断点, 用进程的pid是一个

VS2013 C++串口编程,接收刷卡器数据,调试显示字符串中的字符无效

问题描述 VS2013 C++串口编程,接收刷卡器数据,调试显示字符串中的字符无效 C++代码: hcom = CreateFile(_T("COM3"), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING , FILE_ATTRIBUTE_NORMAL, NULL); if (hcom == INVALID_HANDLE_VALUE) { return; } SetupComm(hcom, 1024, 1024); COMMTI

Android中的Adapter简单介绍_Android

Android中的Adapter在自定义显示列表时非常有用,比如SimpleAdapter,它的构造函数是: public SimpleAdapter (Context context, List> data, int resource, String[] from, int[] to) 它的各参数的意思: 1.context,上下文,SimpleAdapter关联的视图,一般而言就是当前的Activity,this 2.data,泛型的List,如ArrayList,Map或者HashMap

Android中的Adapter简单介绍

Android中的Adapter在自定义显示列表时非常有用,比如SimpleAdapter,它的构造函数是: public SimpleAdapter (Context context, List> data, int resource, String[] from, int[] to) 它的各参数的意思: 1.context,上下文,SimpleAdapter关联的视图,一般而言就是当前的Activity,this 2.data,泛型的List,如ArrayList,Map或者HashMap