1

我想创建一个项目列表。每个列表项应该有四个文本。并且所有四个都将放置在该列表的不同四个角落。我可以在 xml 文件中进行操作。但我不知道如何在android中从java中做到这一点。因为我需要从我的数据库中创建这些列表。为了您更好地理解我的问题,下面是我的 xml 代码。请任何人帮助我..?

                <?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="match_parent"
android:orientation="vertical" >

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/tvb"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center_vertical|center_horizontal"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="left"
            android:text="Left Aligned"
            android:textSize="25dp"
            android:textStyle="bold" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="right"
            android:text="Right Aligned" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center_vertical|center_horizontal"
        android:orientation="horizontal" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="left"
            android:text="Left Aligned" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="right"
            android:text="Right Aligned" />
    </LinearLayout>
</LinearLayout>

4

1 回答 1

1

首先看看这个:http ://www.vogella.com/articles/AndroidListView/article.html

全面的ListViews 指南以及如何创建自己的自定义Adapters。

现在,当您查看此内容时,您可能想看看您getView的自定义方法Adapter,因为这是所有乐趣所在;-)

为列表中的每个项目调用该getView方法。ListView

这是您扩展 XML 布局并设置布局文件文本的地方。

该方法的外观示例getView可能是这样的:

public View getView(int position, View convertView, ViewGroup parent) {
    LayoutInflater inflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    if(convertView == null) {
        convertView = inflater.inflate(R.layout.myrowlayout, parent, false);
    }

    TextView textView1 = (TextView) rowView.findViewById(R.id.textview1);
    TextView textView2 = (TextView) rowView.findViewById(R.id.textview2);
    TextView textView3 = (TextView) rowView.findViewById(R.id.textview3);
    TextView textView4 = (TextView) rowView.findViewById(R.id.textview4);

    // Set the text of the textViews accordingly to where you are in the list.
    // An example
    if(position % 2 == 0) {
        // If even position in the list, set the first TextView
        textView1.setText("This text is only shown for even positions in your list");            
    }

    return rowView;
}

您还可以首先查看Collection您提供给 的Adapter,看看是否有任何特殊项目要应用特定布局。

这也可以应用于特定的屏幕尺寸,例如 - 平板电脑应该使用 aGridView而不是 a ListView(在大多数情况下)。

题外话:我的代码示例对于加载项目绝不是有效的。如果你想要高效的代码,你应该看看ViewHolder 模式

希望这对您有所帮助:-)

于 2013-10-03T14:34:34.733 回答