onclickメソッドの内部から行の内容を変更する方法

私は自分のアダプタを定義したので、私は複雑な行レイアウト( “2つのimageViews、3
TextViews”)があります。私はクリック時にtextViewsの色を変更したい!私は内側のクラスの内部から参照されていない最終的な変数の問題に直面したこの問題の周りに任意のひねりがありますか?

public View getView(final int position, View convertView, ViewGroup parent) {

    ViewHolder holder = new ViewHolder();

    if(convertView==null)
    {     minflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        convertView = minflater.inflate(R.layout.list_item2, null);


    holder.title = (TextView) convertView.findViewById(R.id.rowtext1);
    holder.note = (TextView) convertView.findViewById(R.id.rowtext2);
    holder.date = (TextView) convertView.findViewById(R.id.rowtext3);
    holder.course= (TextView) convertView.findViewById(R.id.rowtext4);
    holder.icon = (ImageView) convertView.findViewById(R.id.rowimage1);
    holder.read = (ImageView) convertView.findViewById(R.id.rowimage2);


    convertView.setOnClickListener(new OnClickListener() {
        private int pos = position;

        @Override
        public void onClick(View v) {
            numberOfClicks++;
                           //Heres the problem 
            holder.title.setTextColor();
            if(pos==0 &&  numberOfClicks % 2 ==1 )
                v.setBackgroundResource(R.drawable.stoprow);
            else if  (pos==0 &&  numberOfClicks % 2 !=1 )
                v.setBackgroundResource(R.drawable.toprow);


            else if (pos==getCount()-1 &&  numberOfClicks % 2 !=1 )
                v.setBackgroundResource(R.drawable.bottomrow);
            else
                v.setBackgroundResource(R.drawable.smiddlerow);
        }
        });





        convertView.setTag(holder);
        } else {
       //Get the ViewHolder back to get fast access to the TextView
       //and the ImageView.
        holder = (ViewHolder) convertView.getTag();
        }
ベストアンサー

私も同じ問題を抱えており、ついに私は次のような解決策を得ました

 final TextView tempView = holder.title;

onclickよりも:

  title.setTextColor();

Refer this link for further reference
Imageview in Listview cannot change at runtime in android

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です