我开始在android开发,我真的很有兴趣学习。实际上我正在为一个农场的管理制作一个Android应用程序。我需要创建一个listView,它显示管理员已经购买了什么。所以,我试图设置一个ListView来做那个..我按照vogella的教程(http://www.vogella.com/tutorials/AndroidListView/article.html)。所以,我创建了一个名为" NewListViewAdapter 的类,我还创建了名为" newlistviewadapter "的xml文件。并在我的ListFragment中调用。
问题我已经有了如何处理List,我创建了一个Compras对象列表,现在我试图将它设置为xml文件中的每个textview,但我不知道这是正确的方法。有人能告诉我我是怎么做到的吗?
我正在关注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>
在我的listfragment中实施
List <Compra> compras = db.getAllCompras(id_user);
NewListViewAdapter adapter = new NewListViewAdapter(getActivity(), compras);
setListAdapter(adapter);
getListView();
registerForContextMenu(getListView());
我的计划是显示一个listView,如果用户触摸listView的一个元素,用户可以选择修改或删除它,为此我需要&#34; compra&#34; ID。所以这就是为什么即时显示所有信息并需要获取id。用于修改或删除它。
感谢。
答案 0 :(得分:0)
要处理列表项,请在Android中单击,您可以使用OnListItemClick方法。 处理修改和/或删除选项的一种方案是使用选项弹出警报对话框。您还可以决定将用户带到另一个活动,并在那里处理该对象的修改和删除。什么都适合你。