1

我正在使用 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;
    }
4

1 回答 1

6

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

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

于 2013-02-04T20:54:35.023 回答