0

我目前有:

final TextView tv = new TextView(this); 
final RelativeLayout rL = new RelativeLayout(this);
final EditText editText = (EditText)findViewById(R.id.editText);   
final Button b1 = (Button)findViewById(R.id.b1);    

 b1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            rL.addView(tv);
            tv.setText(editText.getText());
            editText.setText("");

        }
    });

在我的 onCreate 方法中,但是当输入文本并按下我的按钮时,我的 textView 没有显示在屏幕上?是否有代码可以设置手机屏幕上的设置位置?

4

2 回答 2

2

这是你的问题

final RelativeLayout rL = new RelativeLayout(this);

这个包含TextView 的RelativeLayout 甚至不会显示在屏幕上,您所做的只是创建一个RelativeLayout。

您应该做的是向您的 XML 布局文件添加一个 RelativeLayout(包含 EditText 和 Button 的同一个文件并执行以下操作

final RelativeLayout rL = (RelativeLayout)findViewById(R.id.myRelativeLayout);
...
rL.addView(tv);

现在,由于您引用的是实际的 RelativeLayout,因此您的文本将可见。希望我有某种意义。

于 2013-04-12T01:45:47.550 回答
1

你有基本布局吗?您正在将 EditText 添加到 RelativeLayout,但您需要将 RelativeLayout 添加到一些已经存在的布局。

首先,膨胀一些基本布局。然后在该布局上执行 findViewById。使用它来调用 addView(editText);

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/base_layout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
</RelativeLayout>



public class MyActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout);

        RelativeLayout rl = (RelativeLayout)findViewById(R.layout.base_layout);
        rl.addView(yourTextView);

    }

}
于 2013-04-12T01:47:56.030 回答