Hallo!
Ich habe eine App (siehe 2x Auf Zurücktaste um App zu schließen) Jetzt möchte ich das sich ein Dialog öffnet, wenn man auf einen Button in der ActionBar klickt (Button funktioniert auch) allerdings wird der Dialog nicht angezeigt.
Ich habe eine App (siehe 2x Auf Zurücktaste um App zu schließen) Jetzt möchte ich das sich ein Dialog öffnet, wenn man auf einen Button in der ActionBar klickt (Button funktioniert auch) allerdings wird der Dialog nicht angezeigt.
Java:
package com.luca.java.android.androlamp;
import com.example.androlamp.R;
import android.app.Activity;
import android.app.Dialog;
import android.content.pm.PackageManager;
import android.hardware.Camera.Parameters;
import android.os.Bundle;
import android.os.Handler;
import android.view.KeyEvent;
import android.view.MenuInflater;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.CompoundButton;
import android.widget.Switch;
import android.widget.Toast;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
public class MainActivity extends Activity {
Switch s1;
android.hardware.Camera cam;
Parameters param;
boolean licht;
boolean pressedBackKey = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
s1 = (Switch) findViewById(R.id.switch1);
s1.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked == true) {
if(getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)) {
if(cam == null) {
cam = android.hardware.Camera.open();
}
param = cam.getParameters();
param.setFlashMode(Parameters.FLASH_MODE_TORCH);
cam.setParameters(param);
cam.startPreview();
licht = true;
} else {
Toast.makeText(getApplicationContext(), "your cellphone do not have a flash!", Toast.LENGTH_SHORT).show();
}
}
if(isChecked == false) {
lichtaus();
}
}
});
}
public void lichtaus() {
if(licht == false) {
cam = android.hardware.Camera.open();
}
param = cam.getParameters();
param.setFlashMode(Parameters.FLASH_MODE_OFF);
cam.setParameters(param);
cam.stopPreview();
licht = false;
}
@Override
protected void onPause() {
if (licht == true) {
lichtaus();
cam.release();
}
super.onPause();
}
@Override
protected void onResume() {
s1.setChecked(false);
super.onResume();
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK ) {
if (pressedBackKey == false) {
pressedBackKey = true;
Toast.makeText(getApplicationContext(), "Zurücktaste 2x drücken zum schließen", Toast.LENGTH_SHORT).show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
pressedBackKey = false;
}
} , 3000);
} else if (pressedBackKey == true) {
onBackPressed();
}
}
return true;
}
// Menü in der ActionBar
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_activity_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected (MenuItem item) {
int id = item.getItemId();
if (id == R.id.about_the_app) {
Toast.makeText(getApplicationContext(), "Test erfolgreich", Toast.LENGTH_SHORT).show();
final Dialog dig1 = new Dialog(MainActivity.this);
dig1.setContentView(R.layout.dialog_about_the_app);
dig1.setTitle("über AndroLamp");
return true;
}
return super.onOptionsItemSelected(item);
}
}