Toast使按钮单击时活动闪烁

时间:2017-12-12 17:14:39

标签: android-layout onclick android-button buttonclick android-toast

我在屏幕顶部有按钮,下方有摄像头预览,当我按下按钮屏幕闪烁时,却希望它显示Toast。在我注释掉Toast.makeText()后,它停止了闪烁,并且日志显示该按钮被点击。

组件树(以防万一,我不想改变它):

enter image description here

代码:

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);

2 个答案:

答案 0 :(得分:0)

您在哪里定义Context

它是null。如果你放getApplicationContext()

可能没问题

答案 1 :(得分:0)

我认为最好在活动中像下面一样展示吐司:

Toast.makeText(this, "Message", Toast.LENGTH_SHORT).show(); 我的意思是将this传递给吐司的第一个参数。