use*_*613 5 android android-dialogfragment
我正在研究我的一个Android项目,试图减少我的活动中的代码.在其中一个中,我有CustomView(它只是扩展LinearLayout),在单击时打开DialogFrament.现在,我实现这个的方法是重写onTouch()活动,然后从那里打开DialogFrament.它看起来像这样:
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
if (v.getId() == mCustomView.Id()) {
mDialogFragment.show(mFragmentManager, "");
Run Code Online (Sandbox Code Playgroud)
我想将DialogFragment的开放过程从活动转移到CustomView本身,但是,我遇到的问题是我无法getSupportFragmentManager()在CustomView中获得FragmentManager的实例(通过使用).我的计划是可能的,还是我应该坚持我工作的代码?我这样做,所以我的代码看起来更干净,更容易理解.
pet*_*tey 11
在您的自定义视图中,您可以调用getContext()(这将是您的活动),然后您可以将其转换为android.support.v4.app.FragmentActivity并getSupportFragmentManager()从那里调用.
所以这应该做到.
android.support.v4.app.FragmentActivity fragmentActivity = (android.support.v4.app.FragmentActivity) getContext();
FragmentManager fm = fragmentActivity.getSupportFragmentManager();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1420 次 |
| 最近记录: |