我是Android应用程序开发的初学者。我今天正在浏览listview。有一点疑问,比方说,我有一个填充了字符串数据的列表视图。现在,当我单击列表视图项时,它应该将图像设置到该特定行中文本视图的一侧。可能吗 ?请帮帮我。非常感谢代码片段或教程链接!在这个论坛上提前感谢所有这些天才开发者。
答案 0 :(得分:0)
这是可能的。首先,您需要使用和适配器来扩展自定义ListView项目布局。
布局看起来像这样:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content"
android:layout_width="match_parent">
<ImageView
android:id="@+id/itemImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/itemText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/itemImage"/>
</RelativeLayout>
然后,对于您的列表,您将注册一个OnItemClickListener,如下所示:
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
ImageView image = (ImageView) view.findViewById(R.id.itemImage);
try {
// Open the image as an InputStream
InputStream input = getAssets().open("image.jpg");
// Transform the stream to a Bitmap and set it to the ImageView
image.setImageBitmap(BitmapFactory.decodeStream(input));
} catch (IOException e) {
e.printStackTrace();
}
}
});
请注意,侦听器会收到可用于打开和设置特定图像的位置(此示例对列表中的所有项目使用1个图像)。
答案 1 :(得分:0)
当然这是可能的。你应该做到以下几点:
1.你需要为你的listView行定义一个布局文件,它应该包括一个Imageview和一个TextView。
2.在Adapter类的getView方法中,需要在步骤1中膨胀布局文件,并将ImageView设置为不可见。
3.在onItemClicked函数中,您应该将ImageView设置为可见
希望这有帮助。