1

ExpandableListView ウィジェットを使用しています。グループ ビューをクリックすると、子ビューが表示されるだけでなく、グループ ビューにも変更が加えられます。アダプターの getGroupView() メソッドで OnClickListener をグループ ビューに追加しましたが、そのうちの 1 つをクリックすると、グループ ビューが変更されますが、子ビューは表示されません。子ビューの。子を表示するために OnClickListener に追加できる呼び出しはありますか? 他の考えは大歓迎です...

編集: これは、OnClickListener が追加された getGroupView() メソッドのコードです。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 に答える