0

アプリケーションでカスタムリストビューを使用しています。私の行には(2つの画像、残りのテキストビュー)があります。

textviewの1つをクリックすると、別のtextviewデータを設定したいのですが、これを行うために以下のコードを記述しました

     likes.setOnClickListener(new OnClickListener() {


        public void onClick(View v) {
//          if(likes.getText().toString().equals("Like")){
               TextView t=(TextView)v;
              TextView likesnumber1 = (TextView) findViewById(R.id.likesnumber);
//            TextView  likesnumber = (TextView) convertView.findViewById(R.id.likesnumber);
                int i=  Integer.parseInt(likescount.get(position));

           if(like_or_ulike.get(position).equals("Like")){
                Log.e("inlike","like");
                like_or_ulike.set(position, "Unlike");
                t.setText(like_or_ulike.get(position));
                UrltoValue.getValuefromUrl("https://graph.facebook.com/"+objectid.get(position)+"/likes?access_token="+accesstoken+"&method="+"post");
//             listView.getAdapter().getItemAt(position);
               j=i+1;
               String s=Integer.toString(j);
            likescount.set(position, s);
             likesnumber1.setText(likescount.get(position));

            }
            else{
                Log.e("unlike","unlike");
                like_or_ulike.set(position, "Like");
                t.setText(like_or_ulike.get(position));
                UrltoValue.getValuefromUrl("https://graph.facebook.com/"+objectid.get(position)+"/likes?access_token="+accesstoken+"&method="+"DELETE");

                   j=i-1;
                 String s=Integer.toString(j);
                likescount.set(position, s);
                 likesnumber1.setText(likescount.get(position));
            }
        }
    });

textviewをクリックしたときに特定の行の別のtextviewIDを取得するにはどうすればよいですか。その特定の行のIDを取得することは可能ですか。

4

2 に答える 2

1

同じ行でテキストビューを取得したいので、次のことができます。

クリックされたテキストビューでその親を取得し、親ビューを使用してテキストビューを検索できます:

View parent = (View) textViewThatWasClicked.getParent();
        if (parent != null) {
            TextView textViewThatYouWantToChange = parent.findViewById(R.id.textViewThatYouWantToChange);
            textViewThatYouWantToChange.setText(...);
        }

探しているIDを、他のテキストビューのIDに変更する必要があります。ID を設定する必要がある場合は、使用した xml レイアウト ファイルでこれを行うことができます。

実際にコードを提供するのに十分なほどあなたのコードをたどることはできませんが、これで正しい方向に進むには十分なはずです。

于 2012-11-22T13:29:02.660 に答える
0

リストビューの各行にカスタム レイアウトがある場合は、カスタム ビューの各ビューに ID を指定し、リストビューに setOnItemClickListener を設定すると、各行にビューとしてアクセスできます。ビューのような行にアクセスできる場合は、view.findViewById を使用して、ID でカスタム ビューからすべてのビューを取得できます。

于 2012-11-22T13:24:17.390 に答える