我有一个包含TextView和ImageView的列表适配器。我可以为列表中的每个项目设置图像和文本。 TextView的变量是tvFullName。
我可以使用tvFullName将列表中的项目设置为文本并拥有tvFullNameOne
还将列表中的项目设置为文本?
像两个变量一样,每个变量都用文本创建列表中的项目?
这是我的布局。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center|left"
android:padding="5dp" >
<ImageView
android:id="@+id/ivImage"
android:layout_width="70dp"
android:layout_height="70dp"
android:src="@drawable/profile" />
<TextView
android:id="@+id/tvFullName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:textColor="@android:color/white"
android:textSize="16sp"
android:paddingLeft="5dp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
适配器........
public View getView(int position, View convertView, ViewGroup parent) {
View view = inflater.inflate(R.layout.relationship_inflater, null);
Holder holder = new Holder();
//connectOrDisconnectUser();
holder.ivPhoto = (ImageView) view.findViewById(R.id.ivImage);
holder.tvFullName = (TextView) view.findViewById(R.id.tvFullName);
holder.tvFullName.setText(usersInfo.get(position).get(
Relationship.TAG_USERNAME));
imageLoader.DisplayImage(
usersInfo.get(position).get(Relationship.TAG_PROFILE_PICTURE),
holder.ivPhoto);
return view;
}
答案 0 :(得分:0)
我尝试将我设置为同一个ListView的两个项目具有相同的onClick值
如果要在列表中的视图元素上单击事件,可以使用单个侦听器。
例如,使用您当前的代码
holder.ivPhoto = (ImageView) view.findViewById(R.id.ivImage);
// holder.ivPhoto.setOnClickListener();
holder.tvFullName = (TextView) view.findViewById(R.id.tvFullName);
// holder.tvFullName.setOnClickListener();
或者您可以查看在listview
上设置的项目侦听器中单击了哪个视图@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
long viewId = view.getId();
switch(viewId) {
case R.id.ivImage:
Toast.makeText(MainActivity.this, "Image clicked", Toast.LENGTH_SHORT).show();
break;
case R.id.tvFullName:
Toast.makeText(MainActivity.this, "Full name clicked", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
至于你的问题,是的,你当然可以添加你想要的任何额外文字。