2012-03-07 14 views
0

アクティビティの要素をintent.actuallyで更新したいときに問題が発生します。実際にgetparamsを設定して要素に設定できます。しかし、問題は私がインテントを使用していないときです。私の要素の値を設定する方法を使用して、mは私のコード別のクラスのアクティビティの要素を更新する方法

iはChatActivity.java

/* 
    * set element attribute 
    */ 

    public void setAttr(String value){ 
      welcome = (TextView)findViewById(R.id.txtWelcome); 
     welcome.setText("welcome " + value); 
    } 

で場所だと私は別のクラスでそのコードを呼び出すんだ、このコードで..this、そのクラスがありますProcessChat.java

public void welcome(){ 

ChatActivity chat = new ChatActivity(); 
chat.setAttr("user"); 
} 

私は実行時にjava.lang.nullエラーを受け取ります.... 何が問題なのですか? ICANは、この問題を解決する方法...あなたの答えのための 感謝..

+0

Logcatにエラーを投稿できますか? –

+0

実際にはエラーはjava.lang.null.PointerExceptionistです...私はchatActivityを意図せずにメソッドsetAttrを呼び出しています...しかし、別のメソッド呼び出しはデータを読み込んでchatActivityのデータを表示するために、私の問題は呼び出しなしでデータを更新しませんインテント... – viyancs

答えて

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>) 
前ChatActivityのOnCreateの方法では、このコードを入れProcessChat

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

に新しい目的を作成します

+0

実際に私がインテントを使用している場合仕事です...しかし私の場合、私は意図を使用しません。なぜなら、1つのアクティビティで2つの条件で2つのインテントを使用している場合、最初のインテントはインテンツの2番目の条件に置き換えられるため、 inten lost ..しかし、私は両方のデータが必要です。show ..あなたは – viyancs

+0

MVCアーキテクチャを実装しようとしています。アプリケーションクラスのような第3のクラスにデータを格納します。 onResumeはデータを取得して表示します –

0

問題はない、私はあなたがそのmethosを呼び出していると思うビューを作成するために、ビューを定義するために使用される次の行welcome = (TextView)findViewById(R.id.txtWelcome);

findViewByIdでありますビューを作成する前にnullメソッドを返します。ビューが定義されていることを確認してください。findviewbyidはnullではない値を返し、次に値を設定します。

+0

はい、私はそうだと思います。そのコードはonCreateを定義していないためです...しかし、別のクラスを呼び出すとそのコードを定義するのが混乱します。 – viyancs

関連する問題