这看起来是一个简单的问题,但我从2天开始就在苦苦挣扎。 我想在Button Click上动态创建textView。 这是代码的样本
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.game_main);
Button bn = (Button) findViewById(R.id.button2);
bn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
TextView tv1 = new TextView(getApplicationContext());
tv1.setText("Show Up");
layout.addView(tv1);
}
});
}
我可以看到按钮,但在点击按钮时,我无法在布局中看到文本视图。 代码中的任何问题?
答案 0 :(得分:1)
布局没有定义,在布局上尝试findViewById然后在其上设置子元素,然后它应该工作
答案 1 :(得分:1)
您好我的earlier post,它包含示例代码。 (在UI中有一个edittext和一个按钮,单击该按钮后,新的textview将显示输入的文本。) 我认为这对你有帮助。
我用工作代码更新了答案。
仅在onCreate()方法中的代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dinamic_textview);
final LinearLayout layout = (LinearLayout) findViewById(R.id.root_layout);
final Button bn = (Button) findViewById(R.id.btnaddnewtext);
bn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
TextView tv1 = new TextView(v.getContext());
tv1.setText("Show Up");
layout.addView(tv1);
}
});
}
布局xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/root_layout">
<Button
android:id="@+id/btnaddnewtext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Add"
/>
</LinearLayout>
答案 2 :(得分:0)
获取您希望TextView显示在layout.xml中的布局。
然后将TextView添加到该布局中,如下所示: -
LinearLayout myLayout = (LinearLayout)findViewById(R.id.mLayout);
Button bn = (Button) findViewById(R.id.button2);
bn.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
TextView tv1 = new TextView(getApplicationContext());
tv1.setText("Show Up");
myLayout .addView(tv1);
}
});