【问题标题】:How to add 2 EditText entries into 1 rowitem of ListView?如何将 2 个 EditText 条目添加到 ListView 的 1 个行项中?
【发布时间】:2015-02-01 14:25:28
【问题描述】:

就像标题中所说的那样,我想将两个不同 EditText 的 2 个条目添加到我的 ListView 的 1 个列表项中。 现在我只能添加一个条目。

onCreateView 我的片段

final ListView listView = (ListView) rootView.findViewById(R.id.listViewswipeview);
        final EditText editText = (EditText) rootView.findViewById(R.id.editTextswipeView);
        final EditText editText2 = (EditText) rootView.findViewById(R.id.editText2);
        Button btnswipeview = (Button) rootView.findViewById(R.id.imagebuttonswipeview);

        listItems = new ArrayList<String>();

        listItems.add("First Item - added on Activity Create");

        adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, listItems);

        listView.setAdapter(adapter);

        btnswipeview.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View View) {
                Toast toast = Toast.makeText(getActivity(),
                        "You clicked the button",
                        Toast.LENGTH_SHORT);
                toast.show();

                listItems.add(editText.getText().toString());
                adapter.notifyDataSetChanged();
            }
        });

我的片段 xml swipeview.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_weight="1">


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Titel"
        android:textSize="15pt"
        android:id="@+id/swipeviewtitle"
        android:layout_gravity="center_horizontal" />

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/swipeViewimage"
        android:layout_gravity="center_horizontal"
        android:src="@drawable/ic_launcher"/>
</LinearLayout>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:background="#CFD8DC">


        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:inputType="numberDecimal"
            android:ems="10"
            android:id="@+id/editTextswipeView"
            android:layout_weight="1" />
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/imagebuttonswipeview"
            android:src="@drawable/ic_menu_add"/>

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:inputType="numberDecimal"
            android:ems="10"
            android:id="@+id/editText2"
            android:layout_weight="1" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="#CFD8DC">
        <ListView
            android:layout_margin="5dp"
            android:id="@+id/listViewswipeview"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            tools:listitem="@layout/swipeviewrowitem"
            android:clickable="true"
            android:drawSelectorOnTop="true"
            android:focusable="true"
            android:choiceMode="singleChoice"/>

        </LinearLayout>
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <Spinner
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/spinnerswipeview"

            android:entries="@array/day"
            android:layout_gravity="center_horizontal"
            android:layout_weight="1" />
        </LinearLayout>



</LinearLayout>

我的 rowitem xml swipeviewrowitem.xml

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

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_centerVertical="true"
    android:descendantFocusability="blocksDescendants"
    xmlns:android="http://schemas.android.com/apk/res/android">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="@string/new.workout"
        android:textColor="#000000"
        android:id="@+id/mainText"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="Large Text"
        android:id="@+id/textView2"
        android:layout_alignParentTop="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />


</RelativeLayout>

因此,如果我在两个 EditText 对象中的每一个中输入一个条目,则应将第一个条目添加到 android:id="@+id/mainText" 并将第二个添加到 android:id="@+id/textView2" listrowitem。 怎么可能呢?

【问题讨论】:

    标签: android listview android-fragments android-listview android-edittext


    【解决方案1】:

    而不是使用带有内置行布局的股票ArrayAdapter

    adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, listItems);
    

    您可能希望创建自己的扩展ArrayAdapter 的适配器,并将您的自定义行布局R.layout.swipeviewrowitem 传递给它。您可以在自定义适配器中添加逻辑来处理EditTexts 的输入。

    【讨论】:

    • 你能举个例子吗?
    猜你喜欢
    • 1970-01-01
    • 2020-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-31
    • 1970-01-01
    • 1970-01-01
    • 2018-09-07
    相关资源
    最近更新 更多