假设我需要取该人喜欢的电影的名称。我不知道他喜欢多少,所以我只想给他一个文本字段。他可以单击一个按钮并添加更多要填写的字段。我当然可以使用ScrollView
,但我应该考虑使用 aListView
吗?如果是这样,我似乎无法理解如何。请帮忙
问问题
2194 次
3 回答
2
更好的是,在滚动视图中动态添加edittext,单击按钮。
于 2012-06-20T06:59:14.997 回答
1
试试这个:
public class TestingActivity extends ListActivity {
/** Called when the activity is first created. */
EditText value;
Button insert;
ArrayList<String> data=new ArrayList<String>();
/** Called when the activity is first created. */
@SuppressWarnings("unchecked")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
insert = (Button) findViewById(R.id.button2);
value=(EditText)findViewById(R.id.value);
insert.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
data.add(value.getText().toString());
getListView().setAdapter(new ArrayAdapter(getApplicationContext(), android.R.layout.simple_list_item_1, data));
}
});
getListView().setAdapter(new ArrayAdapter(getApplicationContext(), android.R.layout.simple_list_item_1, data));
}
}
xml 是:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
android:id="@+id/value"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" />
<Button
android:id="@+id/button2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="insert" />
</LinearLayout>
<ListView
android:id="@android:id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scrollingCache="false" >
</ListView>
</LinearLayout>
于 2012-06-20T07:08:40.070 回答
0
您可以实现一个自己的BaseAdapter,它使用 EditText-Views 让人们输入数据。 以下是如何实现一个好的适配器。
如果按钮被点击,您可以在列表中添加另一个条目,用于将另一个视图添加到您的适配器。
于 2012-06-20T06:54:57.257 回答