我在屏幕顶部有按钮,下方有摄像头预览,当我按下按钮屏幕闪烁时,却希望它显示Toast。在我注释掉Toast.makeText()后,它停止了闪烁,并且日志显示该按钮被点击。
组件树(以防万一,我不想改变它):
代码:
public final class CaptureActivity extends AppCompatActivity {
Button button;
Context context;
...
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.capture);
button = (Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(context, "BUTTON clicked", Toast.LENGTH_LONG).show();
Log.d("BUTTON","CLICKED");
}
});
mPreview = (CameraSourcePreview) findViewById(R.id.preview);
mGraphicOverlay = (GraphicOverlay<Graphic>) findViewById(R.id.graphicOverlay);
答案 0 :(得分:0)
您在哪里定义Context
?
它是null
。如果你放getApplicationContext()
答案 1 :(得分:0)
我认为最好在活动中像下面一样展示吐司:
Toast.makeText(this, "Message", Toast.LENGTH_SHORT).show();
我的意思是将this
传递给吐司的第一个参数。