用户输入文本的数组

时间:2012-01-10 16:53:39

标签: android

我试图在我的Activity中有一个Input (EditText)框,用户可以输入其他名称。我需要它,所以每次输入名称并单击“添加”按钮时,它会将该名称保存到Array以便我可以在Input (EditText)旁边的屏幕上显示它们,但也可以用户需要能够删除刚刚添加到Array的姓氏,并在添加名称旁边显示一个按钮(这样可能需要保存它们吗?)。

另外,我需要能够将Array转移到下一个Activity我是否必须将其设为全局Array

这就是我所拥有的:

public class AddRemove extends Activity {

ArrayList<String> playerList = new ArrayList<String>();
String playerlist[];

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.addremove);

    Button confirm = (Button) findViewById(R.id.confirm);
    confirm.setOnClickListener(new OnClickListener() {   
        public void onClick(View v) {
            final EditText playername = (EditText) findViewById(R.id.userinput);
            String name = playername.getText().toString();
            playerList.add(name); 


    }});

}
}

和XML:

<EditText
    android:id="@+id/userinput"
    android:layout_width="190dp"
    android:layout_height="40dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="22dp"
    android:layout_marginTop="95dp"
    android:hint="Enter Name"
     >
    <requestFocus />
</EditText>

<Button
    android:id="@+id/confirm"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/userinput"
    android:layout_centerVertical="true"
    android:text="Add" />

1 个答案:

答案 0 :(得分:2)

这是一个非常密集的问题,所以我会尝试总结你需要做什么,你可以告诉我你是否需要帮助做任何事情。

您需要以编程方式在OnClick中添加视图。在您的情况下,TextViewButton。使用您刚刚创建的Button,您需要从TextView上的playerList中删除OnClickListener字符串。您还可以从其父级中删除View,以便用户不再看到它。

为了将数组传递给下一个Activity,您可以使用Bundle

Intent i = new Intent( this, NewActivity.class );
Bundle extras = new Bundle();
extras.putSerializable( "com.example.playerList", playerList );
i.putExtras( extras ); 
startActivity( i );

并阅读新活动的ArrayList

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Bundle extras = getIntent().getExtras();
    ArrayList<String> playerLIst = extras.getSerializable( "com.example.playerList" );
}