簡體   English   中英

嘗試調用按鈕的Null指針

[英]Null Pointer on an attempt to call a button

我在按鈕上有一個空指針,按下該按鈕時需要將其帶到新的布局。 我將代碼設置為:

((Button) findViewById(R.id.analyzee)).setOnClickListener(btnClick);

在使用條件語句的方法中。

這是一個基本的面部檢測應用程序。 如果未找到面孔,我將執行以下操作:

if (facesFound < 1) {
                mFlipper.setDisplayedChild(2);
                mTheMessage = (TextView) findViewById(R.id.falsemessage);
                mThePicture = (ImageView) findViewById(R.id.false_view);
                mTheMessage.setText(R.string.noFaceOne);
                mThePicture.setImageBitmap(bitmap565);
                return; 

如果找到了面孔,我會在面孔上畫一個框,然后執行以下操作:

mFlipper.setDisplayedChild(1);
            mTheMessage.setText(R.string.noFaceFive);
            mThePicture.setImageBitmap(bitmap565);

我的問題在這里,但是,我使用這種方法在按鈕計時時運行:

private final View.OnClickListener btnClick = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
            case R.id.scan_box:
                openCamera();
                break;

            case R.id.crop_face:
                final ProgressDialog dialog = ProgressDialog.show(Main.this, "",
                        "Cropping photo", true);
                dialog.show();

                Handler handler = new Handler();
                handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        dialog.dismiss();
                    }
                }, 3000);

                cropFace();
                break;

所以,我的問題在於:

在鰭狀肢的我的一種布局中,擱在該布局上的按鈕將需要為用戶提供一個選項,如果找不到面孔,則可以捕捉一張新圖片。 其他布局將需要按鈕(單擊)以裁剪面部並將結果發送到另一個布局。

我面臨的問題是代碼的位置:

((Button) findViewById(R.id.crop_face)).setOnClickListener(btnClick);

需要放置以便程序被釋放的按鈕被單擊,它在我的switch語句中調用case,並運行crop face_method。

我嘗試將其放在設置圖像視圖和文本視圖的if語句中,但是在該行上聲明了一個空指針。

我在主菜單上具有的按鈕可以正常工作,就像在onCreate方法中一樣,但是我不知道在哪里播放此按鈕命令,以及在哪里放置重新打開Camera命令。

謝謝!

我只是使用了錯誤的按鈕ID ...抱歉造成混亂= x

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM