【发布时间】:2014-11-02 05:28:00
【问题描述】:
我开始从事 android 开发,我真的很想学习。实际上我正在为一个农场的管理制作一个安卓应用程序。我需要创建一个 listView 来显示管理员购买的内容。所以,我试图为此设置一个 ListView。我遵循 vogella 的教程 (http://www.vogella.com/tutorials/AndroidListView/article.html)。因此,我创建了名为“NewListViewAdapter 的类”,还创建了名为“newlistviewadapter”的 xml 文件,并在我的 ListFragment 中调用。
我已经知道如何处理列表的问题,我创建了一个 Compras 对象列表,现在我尝试将其设置为 xml 文件中的每个文本视图,但我不知道这是正确的方法。谁能告诉我我是怎么做到的?
我正在关注 vogella 的教程,但他们使用数组,我正在尝试使用列表。
关注我的文件:
NewListViewAdapter
package com.example.projectcandy.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import com.example.projectcandy.R;
import java.util.List;
public class NewListViewAdapter extends ArrayAdapter<List> {
private TextView tv1;
private TextView tv2;
private TextView tv3;
private TextView tv4;
private TextView tv5;
private TextView tv6;
private final Context context;
private final List values;
public NewListViewAdapter(Context context, List values) {
super(context, R.layout.newlistview, values);
this.context = context;
this.values = values;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.newlistview, parent, false);
tv1 = (TextView) rowView.findViewById(R.id.textView9);
tv2 = (TextView) rowView.findViewById(R.id.textView10);
tv3 = (TextView) rowView.findViewById(R.id.textView11);
tv4 = (TextView) rowView.findViewById(R.id.textView12);
tv5 = (TextView) rowView.findViewById(R.id.textView13);
tv1.setText((Integer) values.get(1));
tv2.setText((Integer) values.get(1));
tv3.setText((Integer) values.get(1));
tv4.setText((Integer) values.get(1));
tv5.setText((Integer) values.get(1));
tv6.setText((Integer) values.get(1));
return rowView;
}
}
XML 文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="5dp">
<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:paddingRight="5dp"
android:layout_weight="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/vendedor"
android:id="@+id/textView" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/fechadecompra"
android:id="@+id/textView3" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/peso_compra"
android:id="@+id/textView4" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/Cantidad"
android:id="@+id/textView5" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/ubicacion_potrero"
android:id="@+id/textView6" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:paddingLeft="5dp"
android:layout_weight="1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="TEXTO MAS LAAAAAAAAARGO"
android:id="@+id/textView9" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Medium Text"
android:id="@+id/textView10" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Medium Text"
android:id="@+id/textView11" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Medium Text"
android:id="@+id/textView12" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Medium Text"
android:id="@+id/textView13" />
</LinearLayout>
</LinearLayout>
在我的列表片段中实现
List <Compra> compras = db.getAllCompras(id_user);
NewListViewAdapter adapter = new NewListViewAdapter(getActivity(), compras);
setListAdapter(adapter);
getListView();
registerForContextMenu(getListView());
我的计划是在用户触摸 listView 的一个元素时显示一个 listView,用户可以选择是修改还是删除它,为此我需要“compra”id。所以这就是为什么我显示所有信息并需要带上身份证。用于修改或删除。
谢谢。
【问题讨论】:
标签: android xml listview android-listview