如何动态地向Android中的滚动视图添加视图

时间:2015-02-02 17:09:46

标签: android

我试图创建一个应用程序,其中有一个ScrollView占用屏幕的一部分,我在其中添加了一个linearlayout,但我需要动态添加视图行(textView, 2个editText视图,每行都有一个复选框),并且能够从那些要放入数据库的数据中提取数据。

我对Android开发很陌生,所以我真的不确定如何做到这一点,任何帮助都会受到赞赏。

2 个答案:

答案 0 :(得分:2)

创建此布局xml(按照您想要的方式排列)说item_layout

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

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="New Text"
    android:id="@+id/textView2" />

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/editText" />

<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/editText2" />

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="New CheckBox"
    android:id="@+id/checkBox" />
</LinearLayout>

添加观看次数

LayoutInflater inflater = (LayoutInflater)context.getSystemService
      (Context.LAYOUT_INFLATER_SERVICE);
LinearLayout scrollViewLinearlayout = (LinearLayout)findViewById(R.id.scroll_view_linear_layout); // The layout inside scroll view
for(int i = 0; i < count; i++){
    LinearLayout layout2 = new LinearLayout(context);
    layout2.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
    View item = inflater.inflate(R.layout.item_layout, null, false);
    layout2.setId(i);
    layout2.addView(item);
    scrollViewLinearlayout.addView(layout2);    
}

从视图中获取值

for(int i = 0; i < count; i++){
    LinearLayout itemLl = (LinearLayout)scrollViewLinearlayout.findViewById(i);
    EditText et1 = (EditText)itemLl.findViewById(R.id.editText);
    String et1Str = et1.getText().toString();
    // Similarly get other values and add them in the database
}

答案 1 :(得分:-2)

使用ListView而不是ScrollView,并动态添加/删除元素。

了解ListView后,您会发现如何轻松完成此任务:

https://github.com/codepath/android_guides/wiki/Using-an-ArrayAdapter-with-ListView