如何使用不同数量的XML填充Android中的ListView,并从列表中提取数据?

时间:2015-06-01 19:43:24

标签: java android xml listview

我正在尝试为我学校的游戏俱乐部创建一种支架应用程序,但我在第一项活动中遇到了很多麻烦。我想有一个播放器名称的输入框列表,以及按下按钮添加更多播放器的能力(列表中的更多输入框),并将框中的名称转移到下一个活动,列表中的每个项目都有一个玩家名称(textView)和另一个该玩家得分的输入框,这将最终转移到最终活动,该活动将显示将要移动的玩家列表进入下一轮。

我考虑过为不同数量的玩家创建多个XML,但这会限制可以在游戏中玩的玩家数量,也意味着我必须为每个玩家数量制作3个XML(editText,textView & editText,textView)。

到目前为止,我有这个:

MainActivity.java

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    tools:context=".MainActivity"
    android:id="@+id/Main">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginTop="10dp"
        android:padding="6dp"
        android:orientation="vertical"
        android:layout_below="@android:id/empty"
        android:layout_above="@+id/bAdd"
        android:weightSum="1">
        <ListView
            android:id="@+id/android:list"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="0.44" />
    </LinearLayout>
    <Button
        android:id="@+id/bPlay"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="3dp"
        android:minWidth="125dp"
        android:drawablePadding="6dp"
        android:text="@string/Main.Play"
        android:onClick="play" />

    <Button
        android:id="@+id/bAdd"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/bPlay"
        android:layout_alignLeft="@+id/bPlay"
        android:drawablePadding="6dp"
        android:minWidth="125dp"
        android:onClick="addPlayer"
        android:text="@string/Main.Add" />

</RelativeLayout>

ActivityMain.xml

package com.example.bracketapp;

public class Player {
    String name;
    int points;

    public Player(){
        name = null;
        points = 0;
    }

    public String getName() {
        return name;
    }

    public int getPoints() {
        return points;
    }

    public void setPoints(int newPoints){
        points = newPoints;
    }

    public void setName(String newName) {
        name = newName;
    }

}

Player.java

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="3dp"
    android:orientation="vertical">

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="6dp"
        android:text="Player Name" />

    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:layout_marginLeft="6dp"
        android:ems="10"
        android:inputType="textPersonName" />

</LinearLayout>

和player_row.xml

{{1}}

我不知道这里是否非常清楚,但我完全不知道我在做什么,并且非常感谢任何帮助。谢谢!

0 个答案:

没有答案