Ich habe einen Nullzeiger auf eine Schaltfläche, die ich brauche, um mich in ein neues Layout zu bringen, wenn Sie gedrückt werden. Ich habe den Code festgelegt als:Nullzeiger beim Versuch, eine Schaltfläche aufzurufen
((Button) findViewById(R.id.analyzee)).setOnClickListener(btnClick);
innerhalb einer Methode, die bedingte Anweisungen verwendet.
Es ist eine grundlegende Gesichtserkennung App. Wenn Gesichter nicht gefunden werden, ich dies tun:
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;
wenn Gesichter zu finden sind, habe ich eine Box auf dem Gesicht zu ziehen, und dies tun:
mFlipper.setDisplayedChild(1);
mTheMessage.setText(R.string.noFaceFive);
mThePicture.setImageBitmap(bitmap565);
Mein Problem hier allerdings liegt diese Einstellung sinnvoll Methode ausgeführt werden soll, wenn die Tasten getaktet:
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;
Also, mein Problem darin liegt:
in einem meinem Layout in dem Flipper, Die Schaltfläche, die auf dem Layout ruht, muss dem Benutzer die Möglichkeit geben, ein neues Bild einzufangen, wenn keine Gesichter gefunden werden. Das andere Layout benötigt die Schaltfläche (nach Klick), um die Gesichter zu beschneiden und die Ergebnisse an ein anderes Layout zu senden.
Die Frage, die ich bin vor, wo der Code:
((Button) findViewById(R.id.crop_face)).setOnClickListener(btnClick);
benötigt, um den Knopf loslassen für das Programm platziert werden geklickt wurde, ist es der Fall in meinem switch-Anweisung aufruft, und läuft die crop face_method.
Ich versuche, es in der if-Anweisung setzen, wo ich die Bildansicht und Textansicht festlegen, aber ich bekomme einen Nullzeiger auf dieser Linie, die ich meine Schaltfläche anmelde.
Die Tasten, die ich in meinem Hauptmenü habe, funktionieren gut, da sie in meiner onCreate-Methode sind, aber ich weiß nicht, wo ich diesen Button-Befehl spielen soll und wo ich meinen Camera-Befehl erneut öffnen muss.
Danke!