vli*_*o20 1 android fragment android-dialogfragment
我有一个被调用的活动,MainPage它会延伸SherlockFragmentActivity.此活动有标签,每个标签显示不同的片段.其中一个片段显示一个SaleRow视图,该视图是一个自定义视图(扩展RelativeLayout该类的类).我也有SaleDialog课程延伸DialogFragment.我想要做的是从SaleRow视图类中显示SaleDialog .我试着使用这段代码:
public class SaleRow extends RelativeLayout
{
public SaleRow(Context context)
{
super(context);
...
this.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View view)
{
FragmentManager fm = getFragmentManager(); //compilation error here for getFragmentManager The method getFragmentManager() is undefined for the type new View.OnClickListener()
SaleDialog testDialog = new SaleDialog();
testDialog.setRetainInstance(true);
testDialog.show(fm, "fragment_name");
}
});
Run Code Online (Sandbox Code Playgroud)
我已经找到了解决方案但找不到相关的东西.
Thaks
尝试保持对context对象的引用,转换它然后调用getSupportFragmentManager它:
public class SaleRow extends RelativeLayout
{
private Context mContext;
public SaleRow(Context context)
{
super(context);
mContext = context;
this.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View view)
{
try{
FragmentManager fm = ((FragmentActivity) mContext).getSupportFragmentManager();
} catch (ClassCastException e) {
Log.d(TAG, "Can't get fragment manager frmom context");
}
SaleDialog testDialog = new SaleDialog();
testDialog.setRetainInstance(true);
testDialog.show(fm, "fragment_name");
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1781 次 |
| 最近记录: |