Meine App wird heruntergefahren, wenn Sie auf eine Schaltfläche klicken. Wer weiß warum? Und wenn Sie irgendwelche Fehler finden, sagen Sie es mir bitte;) Diese Aktivität besteht aus zwei Tasten, die, wenn sie gedrückt werden, einen TimePickerDialog anzeigen und die Zeit speichern.Kann jemand, der android Studio verwendet, mir sagen, was zu tun ist?
Hier ist mein Code:
package app.alexdickson.com.workout1;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TimePicker;
import android.widget.Toast;
public class Main2Activity extends AppCompatActivity implements View.OnClickListener{
ImageButton botoFlexio;
ImageButton botoAbdominals;
static final int DIALOG_ID = 0;
int hour_x;
int minute_x;
int hourDefinitivaFlexio;
int minuteDefinitvaFlexio;
int hourDefinitivaAbs;
int minuteDefinitivaAbs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
botoFlexio = (ImageButton) findViewById(R.id.botoFlexio);
botoAbdominals = (ImageButton) findViewById(R.id.botoAbdominals);
botoFlexio.setOnClickListener(this);
botoAbdominals.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.botoFlexio:
botoFlexio.setBackgroundResource(R.drawable.flexioclicat);
showDialog(DIALOG_ID);
hourDefinitivaFlexio = hour_x;
minuteDefinitvaFlexio = minute_x;
break;
case R.id.botoAbdominals:
botoFlexio.setBackgroundResource(R.drawable.abdominalsclicat);
showDialog(DIALOG_ID);
hourDefinitivaAbs = hour_x;
minuteDefinitivaAbs = minute_x;
break;
}
}
@Override
protected Dialog onCreateDialog(int id) {
if (id == DIALOG_ID)
return new TimePickerDialog(Main2Activity.this, kTimePickerListener, hour_x, minute_x, true);
return null;
}
protected TimePickerDialog.OnTimeSetListener kTimePickerListener =
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
hour_x = hourOfDay;
minute_x = minute;
Toast.makeText(Main2Activity.this, hour_x + ": " + minute_x, Toast.LENGTH_LONG).show();
}
};
Und hier ist mein xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:weightSum="2"
android:orientation="horizontal"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
<ImageButton
android:layout_width="0dp"
android:layout_height="400dp"
android:layout_weight="1"
android:id="@+id/botoAbdominals"
android:background="@drawable/abdominals"
android:contentDescription="ImatgeAbdominals"
android:layout_marginTop="50dp"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
/>
<ImageButton
android:layout_width="0dp"
android:layout_height="400dp"
android:layout_weight="1"
android:id="@+id/botoFlexio"
android:layout_gravity="top"
android:layout_marginTop="50dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="@drawable/flexio"
android:contentDescription="ImatgeFlexio"
/>
Danke für Ihre Hilfe !!!!
Jetzt schaltet es nach unten und es gibt diese Fehler: 03-26 14: 33: 35,746 1682-1682 /? E/art: OutOfMemoryError auslösen "Konnte eine 32099592-Byte-Zuweisung nicht mit 2030692 freien Bytes und 1983KB bis OOM zuordnen" 03-26 14: 33: 35.761 1682-1682 /? E/AndroidRuntime: FATALE AUSNAHME: Haupt Prozess: app.alexdickson.com.workout1, PID: 1682 java.lang.OutOfMemoryError: Konnte eine 32099592 Bytezuordnung mit 2030692 freien Bytes und 1983KB bis OOM –
@AlexiaWhite vermutlich nicht zuordnen weil die Bilder, die du für die ImageButtons verwendest, zu groß sind. – Titus
was genau Größe Ihres Bildes, das Sie als Hintergrund des Bildknopfes einstellen. –