繁体   English   中英

使用Android Studio的人可以告诉我该怎么做吗?

[英]Can someone who uses android studio tell me what to do?

单击按钮时我的应用程序关闭,有人知道为什么吗? 如果发现任何错误,请告诉我;)此活动约为两个按钮,当按下这些按钮时,将显示一个TimePickerDialog并节省时间。

这是我的代码:

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();
            }
        };

这是我的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"
    />

谢谢你的帮助 !!!!

初始化按钮后,将按钮注册为监听器。

 botoFlexio.setOnClickListener(this);
 botoAbdominals.setOnClickListener(this);

您需要将侦听器设置为ImageButton

例如:

@Override
protected void onCreate(Bundle savedInstanceState) {
    .... 
    botoFlexio.setOnClickListener(this);
    botoAbdominals.setOnClickListener(this);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM