我有一个包含每个类的两个字符串的类的数组。我试图在两个不同的位置点击按钮(屏幕中间,以及右上方的另一个语句),在屏幕上显示这两个字符串(它们是句子)。在Android屏幕上动态显示字符串文本
问题是我只知道如何通过XML布局文件在屏幕上获取文本,而不是动态地。我会如何去做这件事?我已经有了用XML完成的按钮和背景。
谢谢!
我有一个包含每个类的两个字符串的类的数组。我试图在两个不同的位置点击按钮(屏幕中间,以及右上方的另一个语句),在屏幕上显示这两个字符串(它们是句子)。在Android屏幕上动态显示字符串文本
问题是我只知道如何通过XML布局文件在屏幕上获取文本,而不是动态地。我会如何去做这件事?我已经有了用XML完成的按钮和背景。
谢谢!
动态添加视图。使用addView函数。
public MyActivity extends Activity {
private TextView myText = null;
@Override
public onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.id.mylayout);
LinearLayout lView = (LinearLayout)findViewById(R.id.mylinearlayout);
myText = new TextView();
myText.setText("My Text");
lView.addView(myText);
}
如果你不希望使用在所有的XML文件:
//This is in the onCreate method
LinearLayout lView = new LinearLayout(this);
myText = new TextView(this);
myText.setText("My Text");
lView.addView(myText);
setContentView(lView);
这不是完全清楚你想怎么显示的文本,但你肯定可以使用吐司消息:
Toast.makeText(getApplicationContext(), "Sample Text", Toast.LENGTH_LONG).show();
谢谢,但我现在有另一个问题。我知道如何动态创建一个新的TextView,但我需要在另一个函数中引用它(每次调用此函数时都会更改文本)。但是当它在onCreate函数中时我无法访问它。我试图通过将它放在onCreate函数之外使其成为类变量,但初始化时会出错。另外,每次更改文本时,是否必须执行“lView.addView(yaddayadda)”?或者它会自动显示改变的文本?谢谢! – lespommes
将TextView作为Activity的成员。看到我的代码上面的例子 – Spidy
谢谢我现在变得非常接近,一个morrrrre事情,如果你可以帮助:)现在,当我做sentenceText.setText(“bluh bluh”)我在LogCat中得到一个NullPointerException。这不是因为我在声明中将它设置为null吗? – lespommes