当我们想要实现带有图片的listView的时候我们可以通过listView的方式来实现,也可以通过listActivity的方式来实现,下面我为大家展示一下如何利用ListActivity的方式来实现:
首先我们要在我们的布局文件中,写出我们想在listview里面每一行所展示的东西,例如我们让我们的每一行的listview展示出一个图片一个主标题一个内容简介吧,那么我们便可以
开始我们的代码的旅程了。
在我们的布局文件中:我们通过一个相对布局,写出来我们想要实现的界面的布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/relativeLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" > <ImageView android:id="@+id/image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" /> <TextView android:id="@+id/title" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignTop="@id/image" android:layout_toRightOf="@id/image" android:textAppearance="?android:attr/textAppearanceLarge" /> <TextView android:id="@+id/info" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignLeft="@+id/title" android:layout_below="@+id/title" /> </RelativeLayout>
当我们写好了布局文件之后,我们就应该去写我们的.java的文件去了,在这里我们也仅仅需要写好一个适配器然后利用put的方法把我们想要写的内容适配进入我们的控件就可以了。
package com.example.lin_sir.a15_11_29_test_listactivity; import android.app.ListActivity; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.SimpleAdapter; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class MainActivity extends ListActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SimpleAdapter adapter = new SimpleAdapter(this, getData(), R.layout.activity_main, new String[]{ "title", "info", "image" }, new int[]{R.id.title, R.id.info, R.id.image}); setListAdapter(adapter); } private List<Map<String, Object>> getData() { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); Map<String, Object> map; map = new HashMap<String, Object>(); map.put("title", "测试标题1"); map.put("info", "这是一个测试标题1"); map.put("image", R.drawable.aaa); list.add(map); map = new HashMap<String, Object>(); map.put("title", "测试标题2"); map.put("info", "这是测试标题2"); map.put("image", R.drawable.aaa); list.add(map); return list; } }