2012-01-25 19 views
-1
public class Database extends Activity { 

private TextView tvInfo = (TextView)findViewById(R.id.tvInfo); 
private Button btnInfo = (Button)findViewById(R.id.btnInfo); 

こんにちは、こんにちは、これはJavaの初心者用エラーですが、なぜこれがNPEを投げているのですか?私はそれらの変数を宣言するだけで、それは私にNPEを与えます。Android java NullPointerException

+0

NPEはどの回線にありますか。 –

+0

解決済み、ありがとう! – silentw

答えて

1

あなたはシナリオ上記

private TextView tvInfo = null; 
private Button btnInfo = null; 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.configuration); 
      tvInfo = (TextView)findViewById(R.id.tvInfo); 
      btnInfo = (Button)findViewById(R.id.btnInfo); 
      ........ 
    } 

てみてください下に、あなたがNullPointerExceptionを取得することはありませんようにコーディングする必要があります。

+0

はい、それは私が作ったものです。迅速な回答に感謝します! – silentw

+1

あなたはあなたと同じように他の人にも役立つように答えを受け入れるべきです。 – Lucifer

0

あなたは事前にsetContentView(R.layout.main)に電話をしましたか? 私は正確に何が呼び出される必要があるのか​​よく分かりませんが、あなたのResourcesはちょうど設定されていないようです。

+0

ありがとう、それは私の問題だった、今私は理解して、前にJavaの経験を持っていない! – silentw

+0

問題を解決するために、より多くの回答を避けるために質問に回答してください;) – sschrass

0

は、あなたはそれが利用可能でない限り、あなたはビューを見つけることができません

+0

ありがとう、それは私の問題でした!愚かな初心者の間違い: – silentw

+0

あなたの歓迎。役に立つと分かっている回答を受け入れることを忘れないでください。答えた人はあなたと同様にポイント(10)を取得します(2) – nwaltham

+0

6分後に残っています:p – silentw

1

setContentView呼び出した後のonCreate()内の変数を初期化する必要があります。これは次のようにあなたのコードを移動しなければならない理由は次のとおりです。

private TextView tvInfo; 
private Button btnInfo; 

のonCreateメソッド内、あなたが実行します。その後、活動の

tvInfo = (TextView)findViewById(R.id.tvInfo); 
btnInfo = (Button)findViewById(R.id.btnInfo); 
+0

解決済み、ありがとう! – silentw

0

オーバーライドのonCreateメソッドをしてsetContentViewを通じて活動のレイアウトを設定し、 TextViewとボタンを探してみてください。

関連する問題