不能在自定义对话框中优先使用timepicker

时间:2013-04-17 20:43:29

标签: android android-preferences android-dialog

由于我想自定义我自己的timepicker对话框,我不使用提供的timepickerdialog。但是我发现如果我优先调用对话框就行不通。但是如果我把它放在一个普通的xml布局中就行了。代码没有被eclipse检查错误,但是如果我在手机中运行,则会从下面的粗线开始出现nullpointerexception。

public class Prefs extends PreferenceActivity{

    Preference time;

    void openCustomDialog() {
        AlertDialog.Builder customDialog = new AlertDialog.Builder(Prefs.this);
        customDialog.setTitle("Set Delay Time");
        LayoutInflater layoutInflater = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View view = layoutInflater.inflate(R.layout.timepicker, null); 
        TimePicker minute = (TimePicker) findViewById(R.id.mPicker);
        **minute.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener()** {
            public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
            }
        });
        minute.setCurrentMinute(usb.minute);

        TimePicker second = (TimePicker) findViewById(R.id.sPicker);
        second.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
            public void onTimeChanged(TimePicker view, int hourOfDay, int second) {
            }
        });
        second.setCurrentMinute(usb.second);
        customDialog.setPositiveButton("OK",new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface arg0, int arg1) {
                    }
                });
        customDialog.setView(view);
        customDialog.show();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.prefs);

        time = (Preference)findPreference("time");

        time.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
            @Override
            public boolean onPreferenceClick(Preference arg0) { 
                openCustomDialog();  
                return true;
            }
        });
}

0 个答案:

没有答案