Readdy Write  
0,00 €
Your View Money
Views: Count
Self 20% 0
Your Content 60% 0

Users by Links 0
u1*(Content+Views) 10% 0
Follow-Follower 0
s2*(Income) 5% 0

Count
Followers 0
Login Register as User

Android Java Beispiel: TimePicker erstellen

28.12.2020 (👁7612)

Android Java Beispiel: TimePicker erstellen

 

 

Das Code Beispiel zeigt wie man eine Android Code Picker zum Wählen oder Einstellen einer Zeit erstellen kann.

Der TimePicker kann zum Beispiel für einen Alarm verwendet werden.

Android, Java, XML, TimePicker Calendar TimePickerFragment extends DialogFragment

 

 

 

 

 

ActivityMain.xml

 

In der Main Activity sind ein Textfeld und ein Button

 

Activity_main.xml

Android Xml Code

 

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   
xmlns:app="http://schemas.android.com/apk/res-auto"
   
xmlns:tools="http://schemas.android.com/tools"
   
android:layout_width="match_parent"
   
android:layout_height="match_parent"
   
tools:context=".MainActivity">

    <
TextView
       
android:id="@+id/txtViewAlarm"
       
android:layout_width="wrap_content"
       
android:layout_height="wrap_content"
       
android:layout_centerHorizontal="true"
       
android:layout_centerVertical="true"
       
android:text="Set Time= ..:.."
       
android:textSize="28sp"
       
/>

    <
Button
       
android:id="@+id/btnSetAlarm"
       
android:layout_width="wrap_content"
       
android:layout_height="wrap_content"
       
android:layout_below="@id/txtViewAlarm"
       
android:layout_centerHorizontal="true"
       
android:onClick="BtnAlarmOnClick"
       
android:text="Set Alarm"
      
/>



</
RelativeLayout>

 

 

 

MainActivity.java

In der MainActivity.java Code seite gibt es zwei Punkte

1)   

TimePicker aufrufen

2)   

Gewählte Zeit zurück übernehmen

 

Aufruf des TimePickers im Button

DialogFragment timePickerDialog =new TimePickerFragment();
timePickerDialog.show(getSupportFragmentManager(),"time picker");

 

 

Rückgabe Event aus gewählter Zeit einbauen

Und zusätzlich noch mit Ctrl+O den Bereich onTimeSet erstellen

 

Rückgabe der gewählten Uhrzeit

damit der Event onTimeSet ausgeführt wird, muss in der Activity mit Implement der TimePickerDialog eingebunden werden.

@Override
public void onTimeSet(TimePicker timePicker, int intHourOfDay, int intMinute) {
   
//--------< onTimeSet() >--------
    //*get Time after Picked in Dialog
    //*comes from:..Activity
implements TimePickerDialog.OnTimeSetListener


    TextView textViewPicked=(TextView) findViewById(R.id.txtViewAlarm);
   
textViewPicked.setText(("TimePicked=" + intHourOfDay + ":" + intMinute ));
   
//--------</ onTimeSet() >--------
}

 

 

Code MainActivity.java

package com.example.demo_alarm;

import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.DialogFragment;

import android.app.TimePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.TimePicker;

public class MainActivity extends AppCompatActivity implements TimePickerDialog.OnTimeSetListener  {

   
@Override
   
//============< Activity >==================
   
protected void onCreate(Bundle savedInstanceState) {
       
super.onCreate(savedInstanceState);
        setContentView(
R.layout.activity_main);
    }
   
//============</ Activity >==================

    //============< Buttons >==================
   
public void BtnAlarmOnClick(View view) {
       
//-------< BtnAlarmOnClick >--------
        //*click Button to set Time
       
DialogFragment timePickerDialog =new TimePickerFragment();
       
timePickerDialog.show(getSupportFragmentManager(),"time picker");
       
//-------</ BtnAlarmOnClick >--------
   
}

   
@Override
   
public void onTimeSet(TimePicker timePicker, int intHourOfDay, int intMinute) {
       
//--------< onTimeSet() >--------
        //*get Time after Picked in Dialog
        //*comes from:..Activity implements TimePickerDialog.OnTimeSetListener
       
TextView textViewPicked=(TextView) findViewById(R.id.txtViewAlarm);
       
textViewPicked.setText(("TimePicked=" + intHourOfDay + ":" + intMinute ));
       
//--------</ onTimeSet() >--------
   
}
//============</ Buttons >==================
}

 

 

 

TimePicker Dialog

 

Damit man einen TimePicker Dialog bekommt, muss man eine neue Java Klasse erstellen

Hierzu auf app->java->aktuelles Projekt klicken ->new Java Class

Und als Name : TimePickerFragment eintragen

 

Dann den Event: onCreateDialog(..) erstellen

Mit Ctrl+O und Oncreatedialog eintippen

 

Dadurch wird in die java Datei der Bereich TimePickerFragement mit Dialog onCreateDialog erstellen

 

package com.example.demo_alarm;

import android.app.Dialog;
import android.app.TimePickerDialog;
import android.os.Bundle;

import java.util.Calendar;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.DialogFragment;

public class TimePickerFragment extends DialogFragment {
   
@NonNull
    @Override
   
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
       
//return super.onCreateDialog(savedInstanceState);
        //< start with actual Time >
       
Calendar cal=Calendar.getInstance();
       
int intHour=cal.get(Calendar.HOUR);
       
int intMinute=cal.get(Calendar.MINUTE);
       
//</ start with actual Time >

       
return new TimePickerDialog( getActivity(), (TimePickerDialog.OnTimeSetListener) getActivity(),intHour,intMinute,true);
    }
}