【发布时间】:2013-04-12 03:35:27
【问题描述】:
我有一个带有复选框的 ListFragment...
public class ViewOrderLineFragment : ListFragment {
public override bool OnOptionsItemSelected(IMenuItem item){
switch (item.TitleFormatted.ToString()){
case "Add":
//stuff here
break;
case "Edit":
var dialog = new ConfirmationFragment(Activity);
dialog.Show(FragmentManager, null);
break;
}
return base.OnOptionsItemSelected(item);
}
public void DoPositiveClick(){=
DeletedSelectedItems();=
}
public void DoNegativeClick()={
// Do stuff here.
//Log.Info("FragmentAlertDialog", "Negative click!");
}
void DeletedSelectedItems={
//do stuff here
}
}
当我选择一些项目并按下删除按钮时,它会提示用户“你确定吗?”
这是我的 DialogFragment 代码。
public class ConfirmationFragment : DialogFragment {
Context _context;
public ConfirmationFragment(Context context) {
_context = context;
}
public override Dialog OnCreateDialog(Bundle savedState){
return new AlertDialog.Builder(Activity)
//.SetIcon(Resource.Drawable.alert_dialog_icon)
//.SetTitle(title)
.SetPositiveButton("Yes", (sender, e) =>
{
((ViewOrderLineFragment)Activity).DoPositiveClick();
})
.SetNegativeButton("No", (sender, e) =>
{
((ViewOrderLineFragment)Activity).DoNegativeClick();
}).Create();
}
}
错误:
Cannot convert type 'Android.App.Activity' to 'OTCMobile.Screens.ViewOrderLineFragment'
在线((ViewOrderLineFragment)Activity).DoPositiveClick();
我关注了这个示例this link
任何替代解决方案?
【问题讨论】:
-
如果
ViewOrderLineFragment是Fragment,则不能将其转换为Activity。也许发布一个ViewOrderOnlineFragment的代码sn-p。 -
试试这个:((FragmentActivity)Activity).DoPositiveClick();
-
请注意所做的格式更改。无用的空行使阅读变得烦人。请保持您的问题整洁且大写,并重新检查您的语法。
标签: android mono fragment android-alertdialog dialogfragment