点击另一个按钮时,肉桂添加TextView

时间:2015-08-07 08:47:26

标签: android

我正在尝试在我的布局上再添加一个TextView。从开始我只有一个TextView,但我想得到一个按钮,当我点击它时,另外添加TextView肉桂。 我想添加这个library,因为它只有一个TextView它会起作用...

通过一个示例,它更容易理解它类似于警报数据,您有一个TextView HH:MM,如果您愿意,可以添加另一个TextView HH:MM }。最好使用Library或者从开始以编程方式执行此操作?

修改

XML CODE:

<RelativeLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/rt1"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="false"
            android:layout_alignParentEnd="false"
            android:id="@+id/pew1">
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/btNerd"
                android:layout_alignParentEnd="true"
                android:layout_marginEnd="24dp" />
            <ListView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/listView"
                android:layout_alignParentTop="true"
                android:layout_alignParentStart="true"
                android:layout_marginStart="26dp"
                android:layout_alignEnd="@+id/btNerd"
                android:layout_alignBottom="@+id/btNerd">
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:id="@+id/text1"
                    android:text="First"/>
            </ListView>
        </RelativeLayout>

但它说

  

渲染问题渲染期间引发异常:AdapterView不支持addView(View,LayoutParams)

在我的Java上我有这个

btNerd = (Button)findViewById(R.id.btNerd);
    lv1 = (ListView)findViewById(R.id.listView);
    btNerd.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            TextView text2 = new TextView(getApplicationContext());
            text2.setText("Text2");
            lv1.addView(text2);
        }
});

但问题出在xml上我猜...

2 个答案:

答案 0 :(得分:3)

您不需要添加库只是为了向您的布局添加TextView。

示例:

layout.xml

<Linearlayout android:id="@+id/list" android:orientation="vertical"> 
  <TextView android:id="@+id/text1" android:text="some text here"/>
</LinearLayout>

Java(在Activity中):

LinearLayout list = (LinearLayout) findViewById(R.id.list);  
TextView text2 = new TextView(this);  
text2.setText("some more text");  
list.addView(text2);

答案 1 :(得分:1)

这不是ListView的工作方式。

ListView需要一个适配器来绑定数据和视图。您可以查找有关ArrayAdapterBaseAdapter

的一些教程

如果您只想将TextView添加到ViewGroup中。只需使用LinearLayoutRelativeLayout替换您的ListView。