我在我的应用程序中使用自定义列表视图。在我的行中,我有(两张图片,其余的文本视图)。
当我点击textview之一时,我想设置另一个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时,如何获取特定行的另一个textview id。是否可以获取该特定行的ID。
答案 0 :(得分:1)
如果您希望在同一行中获取textview,可以执行以下操作。
使用单击的textview获取其父级,然后使用父视图,您可以搜索textview:
View parent = (View) textViewThatWasClicked.getParent();
if (parent != null) {
TextView textViewThatYouWantToChange = parent.findViewById(R.id.textViewThatYouWantToChange);
textViewThatYouWantToChange.setText(...);
}
您需要将您查找的ID更改为其他textview的ID。如果您需要设置ID,可以在您使用的xml布局文件中执行此操作。
我不能很好地遵循你的代码,实际上给你代码,但这足以让你朝着正确的方向前进。
答案 1 :(得分:0)
如果您对listview中的每一行都有自定义布局,那么您可以在自定义视图中为每个视图提供ID,然后为列表视图设置setOnItemClickListener,您就可以将每一行作为视图到达。 当您像View一样访问您的行时,您可以使用view.findViewById并通过其ID从您的自定义视图中获取所有视图。