如何使用List在ListView文本中设置

时间:2014-11-02 05:28:00

标签: android xml listview android-listview

我开始在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。用于修改或删除它。

感谢。

1 个答案:

答案 0 :(得分:0)

要处理列表项,请在Android中单击,您可以使用OnListItemClick方法。 处理修改和/或删除选项的一种方案是使用选项弹出警报对话框。您还可以决定将用户带到另一个活动,并在那里处理该对象的修改和删除。什么都适合你。