ответ

1

Вот функциональный пример со всеми вашими требованиями. испытано и 100% функциональный :)

Поместите это в XML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
> 


<TextView 
    android:id="@+id/timer_textview" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Check this to Cancel Alarm" 
    android:layout_above="@+id/time_picker" 
    android:layout_toRightOf="@+id/time_picker_checkbox" 
    /> 

<CheckBox 
    android:id="@+id/time_picker_checkbox" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/time_picker" 
    /> 

<TimePicker 
    android:id="@+id/time_picker" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerInParent="true" 
    /> 

И вот ваш Java-код:

package com.example.chxboxtest; 

    import android.app.Activity; 
    import android.os.Bundle; 
    import android.view.View; 
    import android.view.View.OnClickListener; 
    import android.widget.CheckBox; 
    import android.widget.TimePicker; 
    import android.widget.Toast; 

    public class MainActivity extends Activity implements OnClickListener { 

private CheckBox cBox; 
private TimePicker tPicker; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    initButtons(); 

} 

private void initButtons() { 

    tPicker = (TimePicker) findViewById(R.id.time_picker); 

    cBox = (CheckBox) findViewById(R.id.time_picker_checkbox); 
    cBox.setOnClickListener(this); 

} 

@Override 
public void onClick(View v) { 

    switch (v.getId()) { 

    case R.id.time_picker_checkbox: { 

     if (((CheckBox) v).isChecked()) { 

     Toast.makeText(this, "Deactivate",Toast.LENGTH_SHORT).show(); 
      tPicker.setEnabled(false); 
     } else { 
      Toast.makeText(this, "Activate",Toast.LENGTH_SHORT).show(); 
      tPicker.setEnabled(true); 
     } 

    } 

     break; 

    default: 
     break; 

    } 

} 

    } 

Если вы хотите этот пример в обычае диалог, пожалуйста, дайте мне знать.

Приветствия,

+0

что "@ DIMEN/activity_vertical_margin"? спасибо! – elichai2

+0

При создании нового проекта, что часть будет создана путем затмения, Вы можете игнорировать эту часть :) андроида: paddingBottom = "@ DIMEN/activity_vertical_margin" андроид: paddingLeft = "@ DIMEN/activity_horizontal_margin" андроид: paddingRight = "@ dimen/activity_horizontal_margin" android: paddingTop = "@ dimen/activity_vertical_margin" –

+0

ok, i Удалены эти строки (это дает мне ошибку). и я получаю сообщение об ошибке при попытке называть это: http://pastebin.com/27RLUwFT (Я называю это: 'startActivity (новый Intent (это, TimePickerTest.класс)); ') (я назвал тебя классом« TimePickerTest ») спасибо! – elichai2

2

вложу здесь весь проект и для других, чтобы использовать его, если они когда-нибудь это нужно: Краткое описание: Программа, которая позволит Вам получить время, установленное пользователем и показать его в нижней части страницы, после нажатия кнопки «Готово». Используется для перехода от одной активности к другой.

-------- Основная деятельность -------

package com.example.chxboxtest; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 

public class MainActivity extends Activity implements OnClickListener { 

private Button start_intent_button; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    start_intent_button = (Button) findViewById(R.id.start_intent_button); 
    start_intent_button.setOnClickListener(this); 

} 

@Override 
public void onClick(View v) { 

    switch (v.getId()) { 

    case R.id.start_intent_button: { 

     Intent intent = new Intent(this,TimePickerTest.class); 
     startActivity(intent); 

    } 
     break; 
    } 

} 

} 

------------- Основная деятельность XML ------ -----------

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
> 

<Button 
    android:id="@+id/start_intent_button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Start Intent Time Picker" 
    android:layout_centerInParent="true" 
    /> 


</RelativeLayout> 

------------- TimePicker класс ---------------

package com.example.chxboxtest; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.CheckBox; 
import android.widget.TextView; 
import android.widget.TimePicker; 
import android.widget.Toast; 


public class TimePickerTest extends Activity implements OnClickListener{ 

private CheckBox cBox; 
private TimePicker tPicker; 
private TextView showTime; 
private Button done; 

private String hour; 
private String minute; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.time_picker_layout); 

    initButtons(); 
} 



private void initButtons() { 

    tPicker = (TimePicker) findViewById(R.id.time_picker); 
    showTime = (TextView) findViewById(R.id.get_time); 
    done = (Button)findViewById(R.id.done); 
    cBox = (CheckBox) findViewById(R.id.time_picker_checkbox); 
    cBox.setOnClickListener(this); 
    done.setOnClickListener(this); 
} 

@Override 
public void onClick(View v) { 

    switch (v.getId()) { 

    //If check enable or disble timePicker 
    case R.id.time_picker_checkbox: { 

     if (((CheckBox) v).isChecked()) { 
      Toast.makeText(this, "CHECKED", Toast.LENGTH_SHORT).show(); 
      tPicker.setEnabled(false); 
     } else { 
      Toast.makeText(this, "NOT CHECKED", Toast.LENGTH_SHORT).show(); 
      tPicker.setEnabled(true); 
     } 
    } 
     break; 

//If Done button pressed get time selected by user 

    case R.id.done:{ 


     tPicker.clearFocus(); 
     // re-read the values, in my case i put them in a Time object. 
     hour = tPicker.getCurrentHour().toString(); 
     minute = tPicker.getCurrentMinute().toString(); 

     if(tPicker.getCurrentMinute().intValue() < 10){ 

      String setTimeText = hour+ " : " + "0" + minute; 
      showTime.setText(setTimeText); 
     }else{ 
      String setTimeText = hour+ " : " + minute; 
      showTime.setText(setTimeText); 
     } 





    } 
     break; 

    default: 
     break; 

    } 

} 

    } 

------------- TimerPicker XML ------------

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" > 

<TextView 
    android:id="@+id/timer_textview" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/time_picker" 
    android:layout_toRightOf="@+id/time_picker_checkbox" 
    android:text="Check this to Cancel Alarm" /> 

<CheckBox 
    android:id="@+id/time_picker_checkbox" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/time_picker" 
    android:layout_centerHorizontal="true" /> 

<TimePicker 
    android:id="@+id/time_picker" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerInParent="true" /> 

<Button 
    android:id="@+id/done" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/time_picker" 
    android:layout_centerHorizontal="true" 
    android:gravity="center" 
    android:text="Done" /> 

<TextView 
    android:id="@+id/get_time" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:gravity="center_horizontal" 
    android:text="Time" 
    android:textColor="#FF0000" 
    android:textSize="25sp" /> 

</RelativeLayout> 

------------- Manifest.xml -----------

 **<activity 
     android:name="com.example.chxboxtest.TimePickerTest" 
     android:configChanges="orientation|keyboardHidden"> 
    </activity>** 

Не забудьте добавить класс TimePicker как деятельность. BestPracice добавить все XML-текст в strings.xml

Приветствия

+0

Извините, что прошлое, но последнее: Не могли бы вы показать мне, как я могу добавить это в диалог? Благодаря! – elichai2

+0

Конечно, но после того, как я вернусь с работы :) –

+0

Ты все еще помнишь меня? Спасибо! – elichai2