我可以在Android上使用带有textview的列表视图和图像图标吗?

时间:2010-09-03 17:57:40

标签: android image listview layout

我需要有一个类似于以下Android应用程序的列表视图

因为我无法发布图像,所以它应该是


INAGE在这里|一些自由文本                 |用户名等


这是你的任务


任务1>

任务2>


任务1&任务2是将从DB

动态获取的列表

我想要一个带有textview的列表,问题是我只能获得List或文本视图,而不是任何时间点我都尝试过相对布局,在这种情况下我看到文本重叠

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/g_tracker_layout" 
     android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">  

    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
                        android:id="@+id/question1"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:autoLink="all"
                        android:text="@string/question1"
                        /> 
   <ListView android:id="@+id/ListView01"
 android:layout_width="match_parent"
 android:layout_height="match_parent" />


</LinearLayout>

任何帮助指南对于实现类似于此

的布局都非常有帮助

以下是onCreateMethod()

中的代码段
public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.g_tracker_home); 
        this.dh = new TrackerDAO(this); 
        lv1=(ListView)findViewById(R.id.ListView01); 
        trackerObj = dh.selectAll();
        if(trackerObj!=null) {
        List<String> al = new ArrayList<String>();
        for(Tracker obj : trackerObj ){
          al.add(obj.getTrackerName());
        }
           lv1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 , al));
   }

2 个答案:

答案 0 :(得分:1)

Here is an excerpt来自我的一本书,展示了如何控制列表行的创建,因此您可以混合文本和图像。该摘录中描述的示例项目可以在本书的GitHub存储库中找到in this directory

简而言之,对于ArrayAdapter,您需要对其进行子类化并覆盖getView()以更新文本和图像。

答案 1 :(得分:0)

尝试这样的事情:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/g_tracker_layout" 
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">  
    <TextView
        android:id="@+id/question1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:autoLink="all"
        android:text="@string/question1"/>
    <ListView android:id="@+id/ListView01"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/question1"/>
</RelativeLayout>
  
    

我甚至尝试了相对布局,在这种情况下,我看到文字重叠

  

那太好了。获得一些专业知识后,您会发现RelativeLayout是最好的布局方案之一。在这个简单的例子中,您也可以使用LinearLayout,但是当事情开始变得复杂时,最好使用RelativeLayout,它非常灵活,可以减少对嵌套元素的需求。