如何从TextView中选择一个值到ListView中

时间:2014-11-07 21:31:31

标签: android listview textview

这个应用程序是一个简单的电话簿,这是联系人的xml文件

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">
    <ImageView
        android:id="@+id/imgAvatar"
        android:layout_width="70dip"
        android:layout_height="70dip"
        android:scaleType="fitCenter"
        android:layout_toLeftOf="@+id/tvName"
        android:layout_toStartOf="@+id/tvName" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:id="@+id/linearLayout">


    </LinearLayout>

    <TextView
        android:id="@+id/tvName"
        android:layout_width="276dp"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:layout_gravity="right"
        android:layout_below="@+id/linearLayout"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:textAlignment="center" />

    <TextView
        android:id="@+id/tvPhone"
        android:layout_width="276dp"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:layout_below="@+id/tvName"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:textAlignment="center" />



</RelativeLayout>

和联系人包含在此listView

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
tools:context=".MyActivity">

<ListView
    android:id="@+id/listPhone"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"

    />


</LinearLayout>

当我点击ListView上的联系人时,我如何获取名为tvPhone的文本字段的值?

1 个答案:

答案 0 :(得分:1)

如果您只想获取TextView的信息,请按以下步骤操作:

String tvValue = tv.getText().toString();

如果从适配器加载值,并且如果要将值存储在数组列表中,那么在 getView()方法的适配器端会有类似的内容:

yourTextView.setText(mDetailsArrayList.get(position));

要获得该值,您将再次使用以下方法获取值:

getText().toString()

根据您的值的样子,您可能有int,float等值。

在此示例中,它是您要返回的String值。

现在,如果你在同一个布局上有一个ListView和一个textView,你可以使用上面的方法从textView中获取值,并将它添加到arrayList中,例如,更新listView,你只需通知更改使用 notifyDataSetChanged()方法。

修改

对于ListView上的onClick事件,只需使用 onItemClickListener

yourListView.setOnItemClickListener(listItemClickListener);

public OnItemClickListener listItemClickListener = new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position,
                long id) {

        String getText = yourArrayList.get(position).getTextFromTextViewMethod();



        }
    };
祝你好运.. :)