0

私はRecyclerViewでフラグメントを作成しました。ここでは、開始時刻と終了時刻を選択して1つ以上のタイムゾーンを設定できます。Android Recycler View TimePicker付きアダプタ

ユーザーが時間ごとにタップすると、時間ピッカーが表示されます。

時間が選択されている場合、私はにより選択された1にテキスト時間を変更したいですユーザー。私はRecyclerViewアダプタからtimePickerを表示しますが、時間のtextViewを変更するためにonTimeSetから渡す方法はわかりません。私が知っている限り、それはRecyclerViewアダプタの中になければなりません。

答えて

0

最後に解決策が見つかりました。このすべては、RecyclerViewアダプタ内で発生します。私は、textViewにonClickリスナーを追加しました。次に、私はダイアログフラグメントを作成するときにビューを渡します。 onBindViewHolderインサイド

horarioViewHolder.mFromTime.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 

       DialogFragment newFragment = new TimePickerFragment(v); 
       newFragment.show(((ChefAltaUnoActivity)mContext).getSupportFragmentManager(), "timePicker"); 

      } 
     }); 

インサイドTimePickerFragment:

public static class TimePickerFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener { 


    private View mView; 

    public TimePickerFragment(View view) { 
     mView = view; 
    } 



    @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); 


     TimePickerDialog timePicker = new TimePickerDialog(getActivity(), R.style.CustomTimePickerDialogTheme, this, hour, minute, 
       DateFormat.is24HourFormat(getActivity())); 


     // Create a new instance of TimePickerDialog and return it 
     return timePicker; 
    } 

    public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 


     ((TextView) mView).setText("format the time text as you want."); 

    } 

} 

は、それが他の誰かに役立ちます願っています。

関連する問題