我已经在stackoverflow上阅读了一些关于此的问题,但它并没有解决我的问题。
我正在遵循关于点击命令烘烤消息的指南..但它崩溃了(我想知道如果我只是复制指南)
代码是:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView red_view=(ImageView)findViewById(R.id.imageView3);
red_view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast t=Toast.makeText(MainActivity.this,"ROSSO",Toast.LENGTH_SHORT);
t.show();
}
});
我错过了什么? :/
Logcat这是logcat(我不知道如何使它成为引用:/)
04-26 12:50:36.360:E / AndroidRuntime(928):致命异常:主04-26 12:50:36.360:E / AndroidRuntime(928):进程:com.example.firstapp,PID:928 04-26 12:50:36.360:E / AndroidRuntime(928):java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.firstapp / com.example.firstapp.MainActivity}:java.lang.NullPointerException 04- 26 12:50:36.360:E / AndroidRuntime(928):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)04-26 12:50:36.360:E / AndroidRuntime(928):在android.app。 ActivityThread.handleLaunchActivity(ActivityThread.java:2245)04-26 12:50:36.360:E / AndroidRuntime(928):at android.app.ActivityThread.access $ 800(ActivityThread.java:135)04-26 12:50:36.360 :E / AndroidRuntime(928):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1196)04-26 12:50:36.360:E / AndroidRuntime(928):在android.os.Handler.dispatchMessage( Handler.java:102)04-26 12:50:36.360:E / AndroidRuntime(928):在android.os.Looper.loop(Looper.java:136)0 4-26 12:50:36.360:E / AndroidRuntime(928):在android.app.ActivityThread.main(ActivityThread.java:5017)04-26 12:50:36.360:E / AndroidRuntime(928):at java。 lang.reflect.Method.invokeNative(Native Method)04-26 12:50:36.360:E / AndroidRuntime(928):at java.lang.reflect.Method.invoke(Method.java:515)04-26 12:50 :36.360:E / AndroidRuntime(928):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:779)04-26 12:50:36.360:E / AndroidRuntime(928):at com。 android.internal.os.ZygoteInit.main(ZygoteInit.java:595)04-26 12:50:36.360:E / AndroidRuntime(928):at dalvik.system.NativeStart.main(Native Method)04-26 12:50 :36.360:E / AndroidRuntime(928):引起:java.lang.NullPointerException 04-26 12:50:36.360:E / AndroidRuntime(928):at com.example.firstapp.MainActivity.onCreate(MainActivity.java:25 )04-26 12:50:36.360:E / AndroidRuntime(928):在android.app.Activity.performCreate(Activity.java:5231)04-26 12:50:36.360:E / AndroidRuntime(928):at android .app.Instrumentation.callAct ivityOnCreate(Instrumentation.java:1087)04-26 12:50:36.360:E / AndroidRuntime(928):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)04-26 12:50:36.360:E / AndroidRuntime(928):... 11更多04-26 12:50:38.660:I / Process(928):发送信号。 PID:928 SIG:9 04-26 12:50:42.540:D / AndroidRuntime(980):关闭VM 04-26 12:50:42.540:W / dalvikvm(980):threadid = 1:线程退出未捕获的异常(group = 0xb2a87ba8)04-26 12:50:42.550:E / AndroidRuntime(980):FATAL EXCEPTION:main 04-26 12:50:42.550:E / AndroidRuntime(980):进程:com.example.firstapp,PID :980 04-26 12:50:42.550:E / AndroidRuntime(980):java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.firstapp / com.example.firstapp.MainActivity}:java.lang.NullPointerException 04-26 12:50:42.550:E / AndroidRuntime(980):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)04-26 12:50:42.550:E / AndroidRuntime(980):在android。 app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)04-26 12:50:42.550:E / AndroidRuntime(980):at android.app.ActivityThread.access $ 800(ActivityThread.java:135)04-26 12:50 :42.550:E / AndroidRuntime(980):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1196)04-26 12:50:42.550:E / AndroidRuntime(980):在android.os.Handler.dispatchMessage(Handler.java:102)04-26 12:50:42.550:E / AndroidRuntime(980):在android.os.Looper .loop(Looper.java:136)04-26 12:50:42.550:E / AndroidRuntime(980):在android.app.ActivityThread.main(ActivityThread.java:5017)04-26 12:50:42.550:E / AndroidRuntime(980):at java.lang.reflect.Method.invokeNative(Native Method)04-26 12:50:42.550:E / AndroidRuntime(980):at java.lang.reflect.Method.invoke(Method.java :515)04-26 12:50:42.550:E / AndroidRuntime(980):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:779)04-26 12:50:42.550:E / AndroidRuntime(980):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)04-26 12:50:42.550:E / AndroidRuntime(980):at dalvik.system.NativeStart.main( Native方法)04-26 12:50:42.550:E / AndroidRuntime(980):引起:java.lang.NullPointerException 04-26 12:50:42.550:E / AndroidRuntime(980):at com.example.firstapp。 MainActivity.onCreate(MainActivity.java:25)04 -26 12:50:42.550:E / AndroidRuntime(980):在android.app.Activity.performCreate(Activity.java:5231)04-26 12:50:42.550:E / AndroidRuntime(980):at android.app .Instrumentation.callActivityOnCreate(Instrumentation.java:1087)04-26 12:50:42.550:E / AndroidRuntime(980):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)04-26 12:50:42.550 :E / AndroidRuntime(980):... 11更多04-26 12:50:44.760:I /处理(980):发送信号。 PID:980 SIG:9
(我试图点击对象并崩溃无论如何)这是我的布局文件http://it.tinypic.com/r/t0j5u1/8
答案 0 :(得分:2)
您的imageView3
采用片段布局,而不是activity_main
布局。因此,您的活动onCreate()
无法找到它。
将代码移至片段onCreateView()
并在您刚膨胀的片段布局上调用findViewById()
,例如。
View rootView = inflater.inflate(R.layout.your_fragment_layout);
ImageView red_view=(ImageView)rootView.findViewById(R.id.imageView3);
red_view.setOnClickListener(...);
return rootView;
答案 1 :(得分:0)
看到这个
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
button = (Button) findViewById(R.id.buttonToast);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Toast.makeText(getApplicationContext(),
"Button is clicked", Toast.LENGTH_LONG).show();
}
});
}
答案 2 :(得分:0)
如果您在ImageView中设置了点击事件,请设置属性
android:clickable="true"
在你的布局xml文件中。