2017-01-06 13 views
0

Dateピッカーとダイアログフラグメントを拡張するタイムピッカーを作成しようとしています。私は、時間ピッカーを追加したときに私は、DateFormat.is24HourFormatメソッドを解決することはできませんエラーが発生している、私は、アプリケーションを実行すると、日付ピッカーを得ることができます。TimePickerDIalogのメソッドDateFormat.is24HourFormatを解決できません

私はimport android.support.v4.app.DialogFragmentを使用しています。ポストにつきとして

TimepickerFragment show() method cannot be resolved

が、問題はまだ

import android.app.DatePickerDialog; 
import android.app.Dialog; 
import android.app.TimePickerDialog; 
import android.os.Bundle; 
import android.support.v4.app.DialogFragment; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import android.widget.DatePicker; 
import android.widget.TextView; 
import android.widget.TimePicker; 
import java.text.DateFormat; 
import java.util.Calendar; 
import java.util.GregorianCalendar; 



public class MainActivity extends AppCompatActivity implements DatePickerDialog.OnDateSetListener, TimePickerDialog.OnTimeSetListener { 

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


public void datePicker(View view) { 
    DatePickerFragment fragment = new DatePickerFragment(); 
    fragment.show(getSupportFragmentManager(), "date"); 
} 

public void TimePicker(View view) { 
    TimePickerFragment fragment = new TimePickerFragment(); 
    fragment.show(getSupportFragmentManager(), "time"); 
} 


private void setDate(final GregorianCalendar calendar) { 

    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) { 
     final DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM); 
     ((TextView) findViewById(R.id.pic_date)).setText(dateFormat.format(calendar.getTime())); 
    } 
} 


@Override 
public void onDateSet(DatePicker view, int year, int month, int day) { 
    GregorianCalendar cal = null; 
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) { 
     cal = new GregorianCalendar(year, month, day); 
    } 
    setDate(cal); 
} 

@Override 
public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
    Calendar cal = null; 
    ((TextView) findViewById(R.id.start_time)).setText(String.valueOf(hourOfDay)+ String.valueOf(minute)); 
} 


public static class DatePickerFragment extends DialogFragment { 

    @Override 
    public Dialog onCreateDialog(Bundle savedInstanceState) { 
     // Use the current date as the default date in the picker 
     final Calendar c = Calendar.getInstance(); 
     int year = c.get(Calendar.YEAR); 
     int month = c.get(Calendar.MONTH); 
     int day = c.get(Calendar.DAY_OF_MONTH); 

     // Create a new instance of DatePickerDialog and return it 
     return new DatePickerDialog(getActivity(), (DatePickerDialog.OnDateSetListener) getActivity(), year, month, day); 
    } 

} 

public static class TimePickerFragment extends DialogFragment { 

    @Override 
    public Dialog onCreateDialog(Bundle savedInstanceState) { 
     // Use the current date as the default date in 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 DatePickerDialog and return it 
     return new TimePickerDialog(getActivity(), this, hour, minute, DateFormat.is24HourFormat(getActivity())); 
    } 

} 

}

答えて

4

主な活動を持続し、私は同じ問題を抱えていました。

import java.text.DateFormat; 

(こちらを参照してください:https://stackoverflow.com/a/15100358/3615383を)私は

import android.text.format.DateFormat; 

の代わりに、私が持っていたものであるか、あなたのケースで、私はこれを交換しようと

import android.icu.text.DateFormat; 

をインポートして、それを解決しました

関連する問題