在scrollview中设置内容?安卓

机管局

我有一个Xml是增加LinearLayoutRelativeLayoutScrollViewprogrammatically。当我加入TextOnclickButton首次展示我的消息,但对于第二次让我崩溃:

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

    <ScrollView
        android:id="@+id/scrollID"
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:layout_weight="1" >


    </ScrollView>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:baselineAligned="true"
        android:orientation="horizontal"
        android:paddingBottom="5dp"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:weightSum="1" >

        <EditText
            android:id="@+id/txtInpuConversation"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0.5"
            android:hint="Text" >

            <requestFocus />
        </EditText>
        <Button
            android:id="@+id/btnSend"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="0.5"
            android:text="Click" />

    </LinearLayout>

</LinearLayout> 

我的代码:

   public class MainActivity extends Activity {
    String Medtconversation;
    EditText edtconversation;
    TextView txtviewUser;
    LinearLayout rilative;
    RelativeLayout relativeLayout;
    LinearLayout firstLinearLayout;
    ScrollView sclView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        edtconversation = (EditText) findViewById(R.id.txtInpuConversation);
        sclView = (ScrollView) findViewById(R.id.scrollID);
        Button btn = (Button) findViewById(R.id.btnSend);



         final Context context = this;

        btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                Medtconversation = edtconversation.getText().toString();
                txtviewUser = new TextView(MainActivity.this);
                txtviewUser.setText(Medtconversation);
                relativeLayout = new RelativeLayout(context);
                firstLinearLayout= new LinearLayout(context);
                LayoutParams LLParamsT = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
                relativeLayout.setLayoutParams(LLParamsT);
                relativeLayout.addView(txtviewUser,
                        new LayoutParams(LayoutParams.WRAP_CONTENT,
                               LayoutParams.WRAP_CONTENT));

                firstLinearLayout.setOrientation(LinearLayout.VERTICAL);
                LayoutParams LLParams = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
                firstLinearLayout.setLayoutParams(LLParams);
                firstLinearLayout.addView(relativeLayout);

Crash here now======>sclView.addView(firstLinearLayout, new
                          LayoutParams(LayoutParams.WRAP_CONTENT,
                                     LayoutParams.WRAP_CONTENT));
                edtconversation.setText("");
            }
        });
    }
}

我需要的是当我clickButton和发送消息第二次创建一个新RelativeLayoutLinearLayout作秀。(在scrollView

在此处输入图片说明

错误 :

    AndroidRuntime
MainActivity$1.onClick(MainActivity.java:54)

在此处输入图片说明

用户名

我建议你使用table,你可以添加programmaticallyTextView等简单:

public class MainActivity extends Activity {
    String Medtconversation;
    EditText edtconversation;
    TextView txtviewUser;
    TextView txtviewUserT;
    RelativeLayout relativeLayout;
    LinearLayout firstLinearLayout;
    TableRow tr;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        edtconversation = (EditText) findViewById(R.id.txtInpuConversation);
        Button btn = (Button) findViewById(R.id.btnSend);
        final TableLayout tl = (TableLayout) findViewById(R.id.tbl);
        final Context context = this;

        btn.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                Medtconversation = edtconversation.getText().toString();
                txtviewUser = new TextView(MainActivity.this);
                txtviewUserT = new TextView(MainActivity.this);
                txtviewUserT.setText("OK");
                txtviewUser.setText(Medtconversation);
                 tr = new TableRow(context);
                 tr.addView(txtviewUser);
                 tr.addView(txtviewUserT);
                 tl.addView(tr);
                edtconversation.setText("");
            }
        });
    }
} 

您的XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/xxx"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

<ScrollView
    android:id="@+id/scrollID"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp" >

    <TableLayout
        android:id="@+id/tbl"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >


    </TableLayout>

</ScrollView>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:baselineAligned="true"
        android:orientation="horizontal"
        android:paddingBottom="5dp"
        android:paddingLeft="5dp"
        android:paddingRight="5dp"
        android:weightSum="1" >

        <EditText
            android:id="@+id/txtInpuConversation"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="0.5"
            android:hint="Text" >

            <requestFocus />
        </EditText>
        <Button
            android:id="@+id/btnSend"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="0.5"
            android:text="Click" />

    </LinearLayout>

</LinearLayout>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章