使用timepicker来设置时间

时间:2013-11-16 11:07:01

标签: android timepicker

有两个编辑文字 ::

enter image description here

应该弹出edittext timepicker的onclick

如何使用时间选择器选择日期&在两个编辑文本中设置日期

  • 我用Google搜索了时间戳
  • 但我不知道如何点击edittext和启动时间戳 设定时间

XML ::

<LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:padding="3dp" >

                <TextView
                    android:id="@+id/lunch_from_textview_id"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/image1"
                    android:layout_toRightOf="@+id/lunch_button_id"
                    android:gravity="center"
                    android:paddingLeft="30dp"
                    android:text="From"
                    android:textColor="#000000"
                    android:textSize="15sp" />

                <EditText
                    android:id="@+id/from_lunch_edit_text_id"
                    android:layout_width="55dp"
                    android:layout_height="40dp" />

                <TextView
                    android:id="@+id/lunch_to_textview_id"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignBottom="@+id/lunch_button_id"
                    android:layout_toRightOf="@+id/textView1"
                    android:gravity="center"
                    android:text="To"
                    android:textColor="#000000"
                    android:textSize="15sp" />

                <requestFocus />

                <EditText
                    android:id="@+id/to_lunch_edit_text_id"
                    android:layout_width="55dp"
                    android:layout_height="40dp"
                    android:ems="10" />
            </LinearLayout>

BuffetOfferings_MainFragmentActivity.java

public class BuffetOfferings_MainFragmentActivity extends FragmentActivity{

    Button back_button;

    FragmentManager manager;
    FragmentTransaction transaction;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.buffet_offerings_fragment_main_reference);

        Buffet_offerings_breakfast_menu1 breakfast_fragment=new Buffet_offerings_breakfast_menu1();
        Buffet_offerings_lunch_menu1 lunch_fragment=new Buffet_offerings_lunch_menu1();
        Buffet_offerings_dinner_menu1 dinner_fragment=new Buffet_offerings_dinner_menu1();

        manager=getSupportFragmentManager();
        transaction=manager.beginTransaction();

        transaction.add(R.id.BREAKFAST_LAYOUT_ID,breakfast_fragment, "breakfast_menu1_fragment");
        transaction.add(R.id.LUNCH_LAYOUT_ID,lunch_fragment, "lunch_menu1_fragment");
        transaction.add(R.id.DINNER_LAYOUT_ID,dinner_fragment, "dinner_menu1_fragment");

        transaction.commit();



        back_button=(Button) findViewById(R.id.TopNavigationBarRestaurantBuffetOfferingsBackButton);
        back_button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                finish();

            }
        });



    }



}

3 个答案:

答案 0 :(得分:1)

我们可以做smriti3,请尝试下面的示例代码,如果您发现任何问题,请告诉我,

 <EditText 
    android:id="@+id/add_TimePicker"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:singleLine="true"
    android:inputType="none"
    android:layout_marginLeft="10dp"
    android:layout_marginRight="10dp"
    android:textColor="#38251f"                   
    android:focusable="false"/>    

并在Activity

中添加此示例代码
    Calendar mcurrentDate=Calendar.getInstance();
        int mHour=mcurrentDate.get(Calendar.HOUR_OF_DAY);
        int mMinute=mcurrentDate.get(Calendar.MINUTE);
        EditText mAddTime=(EditText)findViewById(R.id.add_TimePicker);    
        mAddTime.setOnClickListener(new OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        // TODO Auto-generated method stub          

                        TimePickerDialog mTimePicker=new TimePickerDialog(AddNewMessage.this, new OnTimeSetListener() {                 
                            public void onTimeSet(TimePicker timepicker, int selectedhour, int selectedminute) {
                                // TODO Auto-generated method stub  

                             mAddTime.setText(selectedhour+":"+selectedminute);

                            }
                        },mHour, mMinute,true);
                        mTimePicker.setTitle("Set Time");
                        mTimePicker.show();   
    }
   });

答案 1 :(得分:1)

点击您的EditText或按钮....

mPickTimeButton.setOnClickListener(new OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            // show the time picker dialog
            DialogFragment newFragment = new TimePickerFragment();
            newFragment.show(getSupportFragmentManager(), "timePicker");
        }
    }); // this is on onCreate() method..

@Override
public void onTimePicked(Calendar time)
{
    // display the selected time in the TextView
    mPickedTimeText.setText(DateFormat.format("h:mm a", time));
}

之后创建一个 TimePickerFragment 类,该类扩展为 DialogFragment

  public class TimePickerFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener
{
  private TimePickedListener mListener;

  @Override
 public Dialog onCreateDialog(Bundle savedInstanceState)
  {
    // use the current time as the default values for the picker
    final Calendar c = Calendar.getInstance();
    int hour = c.get(Calendar.HOUR_OF_DAY);
    int minute = c.get(Calendar.MINUTE);

    // create a new instance of TimePickerDialog and return it
    return new TimePickerDialog(getActivity(), this, hour, minute, DateFormat.is24HourFormat(getActivity()));
  }

  @Override
   public void onAttach(Activity activity)
  {
    // when the fragment is initially shown (i.e. attached to the activity), cast the activity to the callback interface type
    super.onAttach(activity);
    try
    {
        mListener = (TimePickedListener) activity;
    }
    catch (ClassCastException e)
    {
        throw new ClassCastException(activity.toString() + " must implement " + TimePickedListener.class.getName());
    }
  }

 @Override
 public void onTimeSet(TimePicker view, int hourOfDay, int minute)
 {
    // when the time is selected, send it to the activity via its callback interface method
    Calendar c = Calendar.getInstance();
    c.set(Calendar.HOUR_OF_DAY, hourOfDay);
    c.set(Calendar.MINUTE, minute);

    mListener.onTimePicked(c);
 }

  public static interface TimePickedListener
 {
    public void onTimePicked(Calendar time);
 }
}

答案 2 :(得分:0)

要打开Time Picker Dialog,你必须放一个Button OR或者你应该使用一个EditText,这样你就可以在Button或EditText的Click事件上写...

您可以找到示例here