【发布时间】:2014-05-07 07:27:06
【问题描述】:
您好,我是编程新手。我有一个按钮,单击该按钮应将 imageView 的图像更改为不同的图像。但是当按钮被点击时,应用程序崩溃了。我确定它是我缺少的一些小东西。 Iv 查找了错误,似乎找不到任何可以帮助解决此问题的方法。我很感谢我能得到的任何帮助。
public class MonthSelect extends Activity {
//declaring variables
ImageView image;
Button jan;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_month_select);
addListenerOnButton();
}
private void addListenerOnButton() {
image = (ImageView)findViewById(R.id.monthDisplay);
jan = (Button)findViewById(R.id.januaryButton);
jan.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
image.setImageResource(R.drawable.a_10);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.month_select, menu);
return true;
}
}
带有图像视图的 xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:background="#000000"
tools:context=".MonthSelect" >
<ImageView
android:id="@+id/monthDisplay"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:contentDescription="@string/month_quote_display"
android:src="@drawable/a_1" />
</RelativeLayout>
错误
05-07 08:22:10.464: E/AndroidRuntime(7415): FATAL EXCEPTION: main
05-07 08:22:10.464: E/AndroidRuntime(7415): java.lang.NullPointerException
05-07 08:22:10.464: E/AndroidRuntime(7415): at com.learning.MonthSelect$1.onClick(MonthSelect.java:54)
05-07 08:22:10.464: E/AndroidRuntime(7415): at android.view.View.performClick(View.java:4091)
05-07 08:22:10.464: E/AndroidRuntime(7415): at android.view.View$PerformClick.run(View.java:17072)
05-07 08:22:10.464: E/AndroidRuntime(7415): at android.os.Handler.handleCallback(Handler.java:615)
05-07 08:22:10.464: E/AndroidRuntime(7415): at android.os.Handler.dispatchMessage(Handler.java:92)
05-07 08:22:10.464: E/AndroidRuntime(7415): at android.os.Looper.loop(Looper.java:153)
05-07 08:22:10.464: E/AndroidRuntime(7415): at android.app.ActivityThread.main(ActivityThread.java:4987)
05-07 08:22:10.464: E/AndroidRuntime(7415): at java.lang.reflect.Method.invokeNative(Native Method)
05-07 08:22:10.464: E/AndroidRuntime(7415): at java.lang.reflect.Method.invoke(Method.java:511)
05-07 08:22:10.464: E/AndroidRuntime(7415): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)
05-07 08:22:10.464: E/AndroidRuntime(7415): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
05-07 08:22:10.464: E/AndroidRuntime(7415): at dalvik.system.NativeStart.main(Native Method)
【问题讨论】:
-
你的按钮在哪里?
-
MonthSelect.java 的第 54 行是什么?
标签: android nullpointerexception