tablayout和viewpager中的材质日期选择器对话框

时间:2017-01-11 12:41:10

标签: android android-fragments android-tablayout

大家好我正在开发一个应用程序我是Android的新手所以我设法在其中开发导航抽屉和tablayout。它的工作正常但主要的问题是我想在用户点击时显示标签选项卡中显示材料的datepicker对话框关于edittext文本

但是,datepicker无法正常工作

cannot resolve method show(android.support.v4.app.feagmentManager,String)
on the following line

 dpd.show(getFragmentManager(), "Follow Date");

以下是我的片段代码

 import com.wdullaer.materialdatetimepicker.date.DatePickerDialog;

 import java.util.Calendar;


 public class OneFragment extends Fragment implement DatePickerDialog.OnDateSetListener {
EditText nxt_followup;
Context mContext;

public OneFragment() {
    mContext=getActivity();
}



@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_one, container, false);
    nxt_followup=(EditText)view.findViewById(R.id.nextfollowup);
    nxt_followup.setClickable(true);
    nxt_followup.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            Calendar now = Calendar.getInstance();
            //display date picker dialog
            DatePickerDialog dpd = DatePickerDialog.newInstance(
                    OneFragment.this,
                    now.get(Calendar.YEAR),//current year
                    now.get(Calendar.MONTH),//current month
                    now.get(Calendar.DAY_OF_MONTH)//current date
            );
            dpd.setMinDate(now);

            //set the theme
            dpd.setThemeDark(false);
            //vibrate on open
            dpd.vibrate(true);
            dpd.setAccentColor(Color.parseColor("#ff4081"));
            dpd.dismissOnPause(false);
            dpd.show(getFragmentManager(), "Follow Date");
        }
        });

    return view;
}



@Override
public void onDateSet(DatePickerDialog view, int year, int monthOfYear, int dayOfMonth) {

}

 }

当用户从第一个标签上点击edittext时,我想显示材料的datepickerdialog 而实现viewpager和fragment的代码如下

private void setupViewPager(ViewPager viewPager) {
    ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
    adapter.addFragment(new OneFragment(), "Gift");
    adapter.addFragment(new TwoFragment(), "Album");
    adapter.addFragment(new ThreeFragment(), "History");
    viewPager.setAdapter(adapter);
}

class ViewPagerAdapter extends FragmentPagerAdapter {
    private final List<Fragment> mFragmentList = new ArrayList<>();
    private final List<String> mFragmentTitleList = new ArrayList<>();

    public ViewPagerAdapter(FragmentManager manager) {
        super(manager);
    }

    @Override
    public Fragment getItem(int position) {
        return mFragmentList.get(position);
    }

    @Override
    public int getCount() {
        return mFragmentList.size();
    }

    public void addFragment(Fragment fragment, String title) {
        mFragmentList.add(fragment);
        mFragmentTitleList.add(title);
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return mFragmentTitleList.get(position);
    }
}

请帮我显示材料datepickerDialog.On网络我没有得到解决方案

如何在Tablayout中显示包含片段的材质对话框,在该片段中我想要显示材料日期选择器对话框

提前致谢

1 个答案:

答案 0 :(得分:1)

使用以下代码行

dpd.show(getActivity().getFragmentManager(), "Follow Date");