我正在为Android Studio的初学者提供教程,并且有一个" Hello World"像这样的例子:
package com.example.moi.scaleguess;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView text = new TextView(this);
text.setText("Hello, you owe me 1 000 000€.");
setContentView(R.layout.activity_main);
}
}
但是,当我在手机或虚拟手机上启动此应用时,我只能获得#34; Hello World!"消息而不是"你好,你欠我1 000 000€。"。
我不明白,它就像另一个程序已启动。
答案 0 :(得分:2)
您TextView
的初始化错误。这是一个例子:
TextView text = (TextView) findViewById(R.id.textViewId); // must be tally in your activity_main layout.
您需要将布局(XML文件)中的视图转换为TextView
。
在初始化任何视图之前,必须调用另一个setContentView(R.layout.activity_main);
。
您的onCreate
函数必须如下所示:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView text = (TextView) findViewById(R.id.textViewId);
text.setText("Hello, you owe me 1 000 000€.");
}
答案 1 :(得分:1)
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView text = (TextView) findViewById(R.id.textviewIdInXMLFile);
text.setText("Hello, you owe me 1 000 000€.");
}
}
答案 2 :(得分:0)
您创建了一个Java View对象,然后告诉Android在屏幕上打印带有 setContentView(R.layout.activity_main); 的XML视图,这就是它的作用。 我只想使用Java对象,你应该尝试这段代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView text = new TextView(this);
text.setText("Hello, you owe me 1 000 000€.");
setContentView(text);
}
或者您可以使用XML来实现Java View对象,然后将文本更改为Zarul Izham和Vyacheslav建议您这样做。