Hey,
diese kleine App soll das Telefon stummschalten, vibrieren einschalten und die Medienlautstärke regeln. Klappt auch alles toll, nur will ich Abhängig vom Zustand (Laut,Stumm,Vibration) das Bild anpassen. Folgender Code soll das machen, mit fitpicture das Bild ändern und mit currentringchecker den aktuellen Status prüfen. Wenn ich drauf klicke ändert sich das Bild allerdings nicht (Es geht allerdings, also kein Datei problem oder sowas, wenn ich es in die onCreate reinkopiere geht es). Ich bräuchte das Verständniss ob jede Activity in einer Schleife ausgeführt wird oder wie das läuft, dachte das geht mit dem onResume.
Tut mir leid, der Java-Code Button hier kürzt das ganze Ding so hässlich ab, ich weiß nicht was ich dagegen tun soll, ich poste den Code nochmal ohne Code-Klammern darunter!
package com.dummies.android.silentmodetoggle;
import android.app.Activity;import android.content.Context;import android.graphics.drawable.Drawable;import android.media.AudioManager;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.ImageView;
public class MainActivity extends Activity { /** Called when the activity is first created. */ private AudioManager mAudioManager; private int ringMode; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mAudioManager = (AudioManager)getSystemService(AUDIO_SERVICE); currentringchecker(); fitpicture(); lautlos_click(); vibrations_click(); normal_click(); media_click(); } private void currentringchecker() { ringMode = mAudioManager.getRingerMode(); } private void fitpicture(){ ImageView imv = (ImageView)findViewById(R.id.phone_icon); Drawable newimage = null; if(ringMode == 0) //Silent newimage = getResources().getDrawable(R.drawable.phone_silent); if(ringMode == 1) //Vibrate newimage = getResources().getDrawable(R.drawable.phone_vibrate); if(ringMode == 2) //Normal newimage = getResources().getDrawable(R.drawable.phone_on); imv.setImageDrawable(newimage); } private void lautlos_click() { Button lautlosButton = (Button)findViewById(R.id.lautlosbutton); lautlosButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { mAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT); } }); } private void vibrations_click() { Button vibrationsButton = (Button)findViewById(R.id.vibrationsbutton); vibrationsButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { mAudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE); } }); } private void normal_click() { Button lautButton = (Button)findViewById(R.id.normalbutton); lautButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { mAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL); } }); } private void media_click() { final AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE); Button mediaButton = (Button)findViewById(R.id.mediasndbutton); mediaButton.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { am.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0); } }); } @Override protected void onResume(){ super.onResume(); currentringchecker(); fitpicture(); }}
package com.dummies.android.silentmodetoggle;
import android.app.Activity;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.media.AudioManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
private AudioManager mAudioManager;
private int ringMode;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mAudioManager = (AudioManager)getSystemService(AUDIO_SERVICE);
currentringchecker();
fitpicture();
lautlos_click();
vibrations_click();
normal_click();
media_click();
}
private void currentringchecker() {
ringMode = mAudioManager.getRingerMode();
}
private void fitpicture(){
ImageView imv = (ImageView)findViewById(R.id.phone_icon);
Drawable newimage = null;
if(ringMode == 0) //Silent
newimage = getResources().getDrawable(R.drawable.phone_silent);
if(ringMode == 1) //Vibrate
newimage = getResources().getDrawable(R.drawable.phone_vibrate);
if(ringMode == 2) //Normal
newimage = getResources().getDrawable(R.drawable.phone_on);
imv.setImageDrawable(newimage);
}
private void lautlos_click() {
Button lautlosButton = (Button)findViewById(R.id.lautlosbutton);
lautlosButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
mAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
}
});
}
private void vibrations_click() {
Button vibrationsButton = (Button)findViewById(R.id.vibrationsbutton);
vibrationsButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
mAudioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
}
});
}
private void normal_click() {
Button lautButton = (Button)findViewById(R.id.normalbutton);
lautButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
mAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
}
});
}
private void media_click() {
final AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
Button mediaButton = (Button)findViewById(R.id.mediasndbutton);
mediaButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
am.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0);
}
});
}
@Override
protected void onResume(){
super.onResume();
currentringchecker();
fitpicture();
}
}
Alles anzeigen
Danke im Vorraus!