我正在嘗試學習Android,並且正在做一個涉及兩個按鈕和一個textview的簡單練習。但是,當我嘗試在emaulator中運行應用程序時,該應用程序被強制關閉。在AVD上測試時應用程序關機
下面是代碼:
public class CambiarColorActivity extends Activity
implements View.OnClickListener {
Button btnRed;
Button btnBlue;
TextView text;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
TextView text = (TextView)findViewById(R.id.textView1);
btnRed=(Button)findViewById(R.id.button1);
btnBlue=(Button)findViewById(R.id.button2);
btnRed.setOnClickListener(this);
btnBlue.setOnClickListener(this);
}
public void onClick(View view) {
changeColor();
}
private void changeColor() {
if(btnRed.isPressed()) {
text.setBackgroundResource(Color.RED);
} else {
text.setBackgroundResource(Color.BLUE);
}
}
}
而這些都是我在日誌中發現Eclipse中的錯誤:
11-04 11:34:42.377: E/AndroidRuntime(376): Caused by: java.lang.NullPointerException
11-04 11:34:42.377: E/AndroidRuntime(376): at mi.entrenamiento.OrejanoX.CambiarColorActivity.onCreate(CambiarColorActivity.java:25)
這裏是我的我的main.xml中的一部分
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/button1"
style="@style/red"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:drawableLeft="@drawable/red"
android:text="@string/red" />
<Button
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:drawableLeft="@drawable/blue"
android:text="@string/azul" />
</LinearLayout>
任何幫助將受到歡迎。
感謝和問候,毛羅。
我已將main.xml添加到原始帖子。我確實得到了一個空值,但我可以確定原因。 – Orejano
這有幾個原因發生;谷歌「findViewById返回null」,我相信你會發現一些。 – Jong