ExpandableListView,单击时更改组视图

dre*_*ore 1 android widget

我正在使用ExpandableListView小部件.单击组视图时,除了显示子视图外,我还想对组视图进行更改.我已经在适配器的getGroupView()方法中向组视图添加了一个OnClickListener,但是当单击其中一个时,会对组视图进行更改,但子视图不会显示 - 就像OnClickListener覆盖了显示一样儿童观点.我可以添加一个调用OnClickListener来显示孩子吗?欢迎任何其他想法......

编辑:这是getGroupView()方法的代码,添加了OnClickListener.我不认为任何其他代码是相关的,因为它在OnClickListener被注释掉时工作正常

        @Override
    public View getGroupView(int position, boolean arg1, View convertView,
            ViewGroup arg3) {
        if (convertView == null){
        convertView = getLayoutInflater().inflate(R.layout.questionbox, null);
        }

        TextView summary = (TextView)convertView.findViewById(R.id.questionHl);
        final TextView asker = (TextView)convertView.findViewById(R.id.asker);
        TextView numviews = (TextView)convertView.findViewById(R.id.numViews);
        TextView numAnswers = (TextView)convertView.findViewById(R.id.numAnswers);
        final TextView fullText = (TextView)convertView.findViewById(R.id.fullText);

        summary.setText(q.get(position).summary);
        asker.setText("by " + q.get(position).author);
        numviews.setText(Integer.toString(q.get(position).views));
        numAnswers.setText(Integer.toString(q.get(position).numAnswers));   
        fullText.setText(q.get(position).fullText);
        convertView.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                if (fullText.getVisibility() == 8){
                    fullText.setVisibility(1);;
                }
                else if (fullText.getVisibility() == 0){
                    fullText.setVisibility(8);
                }
            }
            });
        return convertView;
    }
Run Code Online (Sandbox Code Playgroud)

psy*_*khi 6

我认为这是因为你的onclicklistener在返回false时返回true.True表示您完全处理了事件,因此它不会转发回可扩展列表视图.但我在这里盲目猜测,因为你没有显示任何代码:D

编辑:一些onclick方法返回一个布尔值,有些则没有,所以我可能完全错了.你能告诉我们你的代码吗?

  • listView.expandGroup(position).可扩展列表视图是方法的最后一个参数(arg3).ExpandableListView list =(ExpandableListView)arg3; list.expandGroup(位置); (3认同)