2012-03-07 53 views
0

我有問題,當我想更新intent.actual活動中的元素,我可以getparams並設置爲元素..但問題是當我不使用意圖我'使用的方法來設置我的元件..this的值m是我的代碼如何更新另一個類的活動中的元素

此代碼我是發生在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 .... 有什麼不對? ICAN如何解決這個.. 謝謝您的回答..

+0

你可以在Logcat中發佈錯誤嗎? – 2012-03-07 07:07:07

+0

實際上錯誤是java.lang.null.PointerExceptionist ...我的調用方法setAttr沒有意圖chatActivity ...但另一種方法調用意圖加載數據和在chatActivity中顯示數據,我的問題只是沒有更新數據intent ... – viyancs 2012-03-07 07:19:38

回答

0

認沽下面的代碼

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>) 
在ProcessChat

Intent i = new Intent(this, ChatActivity.class); 
i.putExtra("value", "This value one for ChatActivity "); 
startActivity(Intent) 

將這個代碼ChatActivity的onCreate方法創建新意圖

+0

實際上,如果我使用intent是工作......但在我的情況下,我不使用intent ..因爲如果我在一個活動中使用兩個條件中的兩個intent,第一個intent將會在第二個inten條件中被替換,所以我的數據在第一個inten丟失..但我需要兩個數據顯示..感謝您 – viyancs 2012-03-07 07:35:16

+0

然後嘗試實現MVC體系結構。將數據存儲在應用程序類的第三個類中。然後onResume獲取數據並顯示它 – 2012-03-07 10:28:43

0

的問題是在下面的行welcome = (TextView)findViewById(R.id.txtWelcome);

findViewById用來定義視圖不創建一個視圖我想你撥打的methos在創建視圖之前。所以它返回null方法。確保視圖已定義,因此findviewbyid會給你一個非空值,然後只設置任何值。

+0

是的,我認爲是這樣的...因爲該代碼沒有定義到onCreate ...但我很困惑定義該代碼,如果我打電話在另一個類.. – viyancs 2012-03-07 07:30:48

相關問題