我有问题当我想用intent更新活动中的元素。实际上我可以getparams并设置为element ..但问题是当我没有使用intent我正在使用方法来设置我的元素的值..这是我的代码
这个代码我放在ChatActivity.java
中/*
* set element attribute
*/
public void setAttr(String value){
welcome = (TextView)findViewById(R.id.txtWelcome);
welcome.setText("welcome " + value);
}
我在另一个类中调用该代码,该类是ProcessChat.java
public void welcome(){
ChatActivity chat = new ChatActivity();
chat.setAttr("user");
}
当我跑步时,我得到错误java.lang.null .... 怎么了 ?怎么可以解决这个问题.. 谢谢你的回答..
答案 0 :(得分:0)
问题出现在以下行welcome = (TextView)findViewById(R.id.txtWelcome);
findViewById
用于定义不创建视图的视图我认为您在创建视图之前调用了该方法。所以它返回null方法。确保定义了视图,因此findviewbyid将为您提供一个非空值,然后只设置任何值。
答案 1 :(得分:0)
使用以下代码在ProcessChat中创建新意图
Intent i = new Intent(this, ChatActivity.class);
i.putExtra("value", "This value one for ChatActivity ");
startActivity(Intent)
将此代码放在ChatActivity的OnCreate方法
中Bundle extras = getIntent().getExtras();
if (extras == null) {
return;
}
// Get data via the key
String value = extras.getString(Intent.EXTRA_TEXT);
if (value != null) {
setAttr(value)
}
OR
在welcome = (TextView)findViewById(R.id.txtWelcome)
this.setContentView(<layout>)