【发布时间】:2014-04-16 08:28:57
【问题描述】:
我正在尝试Google University Android lab1 你被要求根据另一个活动通过 Intent 传递的值更改 TextView 的文本内容。
我尝试了其余的代码,但是... 为什么当我添加“tv.settext(...) line”时我的应用程序强制关闭?
public class HelloWorld extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/*
* Fetch and display passed string.
*/
TextView tv = (TextView) findViewById(R.id.HelloTV);
Bundle extras = this.getIntent().getExtras();
if (extras != null) {
String nameStr = extras.get("Username").toString();
if (nameStr != null) {
tv.setText("Hello "+nameStr);
}
}
setContentView(R.layout.main);
}
}
【问题讨论】:
-
extras.get("Username"),检查这个值,这可能是 null。在 logcat 中查看。
-
你能在这里发布错误日志和xml布局吗?现在看起来 'tv' 可以为 null 就行了。
-
@bhups - 我检查用户名不是吗? - 如果 (nameStr != null)...
-
此处的错误日志和布局 - pastebin.ca/1939350
-
HelloWorld.java 的第 22 行有什么内容? tv.setText 还是 extras.get?