与标题,图像和文本列表视图?

我需要做一个左侧的图像列表视图,标题右侧的图像和描述下。 我已经检查了文档中的列表视图,但我似乎无法find一个这样的例子。 我有一个在XML中定义的选项卡视图(按照android示例tabs1),列表视图作为第一个选项卡内容。 不过,我想通过RSS新闻源添加内容到代码中的列表视图。

我正在考虑使用一个HTML注入string的webview但是我将如何从可绘制文件夹插入图像。 (这些图像只是本地存储的“新闻图标”,而不是来自互联网的图像)

对不起,如果这是一个nooby的问题,但任何帮助表示赞赏:)

Solutions Collecting From Web of "与标题,图像和文本列表视图?"

我想你正在描述的结构是指ListView项目的内容。 您可以通过为单个项目定义布局来实现此目的。 下面的代码已经在类似的情况下为我工作:

<?xml version="1.0" encoding="UTF-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:padding="6dip" android:layout_height="?android:attr/listPreferredItemHeight"> <ImageView android:id="@+id/result_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentBottom="true" android:layout_marginRight="6dip" android:src="@drawable/image1"/> <TextView android:id="@+id/result_name" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_toRightOf="@id/result_icon" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_alignWithParentIfMissing="true" android:gravity="center_vertical" android:text="Title" /> <TextView android:id="@+id/result_second_line" android:layout_width="fill_parent" android:layout_height="26dip" android:layout_toRightOf="@id/result_icon" android:layout_below="@id/result_name" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:singleLine="true" android:ellipsize="marquee" android:text="Second line" /> </RelativeLayout> 

然后,您需要扩展一个BaseAdapter以与您的ListActivity一起使用。 您将需要膨胀布局,并使用RSS源中的数据填充它。

 @Override public View getView(int position, View convertView, ViewGroup parent) { Result result = this.results.get(position); LayoutInflater inflater = (LayoutInflater) context.getSystemService( Context.LAYOUT_INFLATER_SERVICE); RelativeLayout view = (RelativeLayout) inflater.inflate(R.layout.result_item, null, false); ImageView image = (ImageView) view.findViewById(R.id.result_icon); image.setImageResource(result.imageResource); TextView name = (TextView) view.findViewById(R.id.result_name); name.setText(result.location); TextView secondLine = (TextView) view.findViewById(R.id.result_second_line); secondLine.setText(result.shortDescription); return view; } 

你也可以在这里查看这个页面,获得一个非常漂亮的布局android-layout-tricks-1

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <GridLayout android:id="@+id/gridLayout1" android:layout_width="match_parent" android:layout_height="0dip" android:layout_weight="1.07" android:columnCount="2" > <ImageView android:id="@+id/chkItemImage" android:layout_width="100dp" android:layout_height="100dp" android:layout_column="0" android:layout_gravity="left" android:layout_row="0" android:layout_rowSpan="3" android:src="@drawable/ic_launcher" android:scaleType="fitXY" /> <TextView android:id="@+id/chkItemName" android:layout_column="1" android:layout_gravity="left" android:layout_row="0" android:text="" android:textAppearance="?android:attr/textAppearanceLarge" /> <TextView android:id="@+id/chkItemDescription" android:layout_column="1" android:layout_gravity="left" android:layout_row="1" android:text="" android:textAppearance="?android:attr/textAppearanceLarge" /> <TextView android:id="@+id/chkItemPrice" android:layout_column="1" android:layout_gravity="left" android:layout_row="2" android:text="" android:textAppearance="?android:attr/textAppearanceLarge" /> </GridLayout> 

您需要devise列表视图项目以包含textview和imageview。

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <ImageView android:id="@+id/imageView" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="40dp" android:layout_gravity="center_vertical" android:text="TextView" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="40dp" android:layout_gravity="center_vertical" android:text="TextView" /> </LinearLayout> 

那么你需要devise列表视图布局。 然后,您需要通过获取布局充气器来充气您的行项目布局。

  LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View single_row = inflater.inflate(R.layout.list_row, null, true);