Articles of android dialogfragment

DialogFragment布局animation和“试图在绘图时破坏窗口!”错误

我有一个DialogFragment,它的视图中有一些布局的animation。 当我关闭对话框时,我想要执行animation,当animation结束时,执行解除操作。 第1步:从我的活动中调用片段: myDialog.show(getSupportFragmentManager(), “”); 第2步:用户使用对话框完成作业后,按下按钮。 该按钮调用animation,之后我希望对话框消失: @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View layout = inflater.inflate(R.layout.my_layout, null); layMain = (LinearLayout) layout.findViewById(R.id.layMain); TextView btnCancel = (TextView) layout.findViewById(R.id.btnCancel); btnCancel.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { final Animation anim = AnimationUtils.loadAnimation(getActivity(), R.anim.translate_to_bottom); anim.setAnimationListener(new AnimationListener() { @Override public void onAnimationStart(Animation animation) { […]

从自定义基本适配器单击按钮启动对话框片段> getView

好吧,所以我有一个列表(也是一个片段对话框),显示用户朋友,该列表中的每个项目都有一个按钮(在图片中标记为朋友),当用户点击该按钮ID时,显示另一个显示的片段对话框与该用户交互的所有选项(朋友请求,阻止,发送私人消息等)问题是这个按钮及其onClick监听器目前是通过覆盖我的listview适配器getView方法实现的,并创建一个fragmentDialog需要访问权限片段管理器。 有没有办法使这项工作? 编辑:我不能发布项目的实际代码,但我已经附加了一个简化的基础适配器w。 onClickListener应该清楚我想要做什么。 我无法从基本适配器类访问fragmentManager以使对话框片段成为可能 LazyAdapter.java package com.example.androidhive; import java.util.ArrayList; import java.util.HashMap; import android.app.Activity; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; public class LazyAdapter extends BaseAdapter { private Activity activity; private ArrayList<HashMap<String, String>> data; private static LayoutInflater inflater=null; public ImageLoader imageLoader; public LazyAdapter(Activity a, ArrayList<HashMap<String, String>> d) { […]

onDateChanged方法似乎不起作用

这是我的第一篇文章,我正在尝试创建一个非常简单的任务应用程序,但是我遇到了(似乎是)onDateChanged方法的问题。 即使对话框正常popup,它似乎也没有实现更改。 日志中没有错误,我仔细检查了具有类似function的各种解决方案,但我找不到相关的东西。 (分目标16,目标21) 非常感谢,如果有明显的事情,我很抱歉。 public class DatePickerFragment extends DialogFragment { public static final String EXTRA_DATE = “thanoschatz.com.annastodolist.date”; private Date mDate; public static DatePickerFragment newInstance(Date mDate) { Bundle args = new Bundle(); args.putSerializable(EXTRA_DATE, mDate); DatePickerFragment fragment = new DatePickerFragment(); fragment.setArguments(args); return fragment; } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { mDate = (Date) getArguments().getSerializable(EXTRA_DATE); Calendar calendar […]

在dialogfragment中删除白色背景

以下是我调用DialogFragment的方法: DialogSelectAccount myDiag=new DialogSelectAccount(); myDiag.show(ft,”Diag” ); 这是(部分)我的DialogFragment的创建方式: public class DialogSelectAccount extends DialogFragment { public DialogSelectAccount() { } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setRetainInstance(true); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.dialog_select_account, container, false); tvMessage = (TextView) rootView.findViewById(R.id.tvMessage); btnAccountPublic = (Button) rootView.findViewById(R.id.btnAccountPublic); btnAccountEnterprise = (Button) rootView.findViewById(R.id.btnAccountEnterprise); tvMessage.setText(message); […]

如何在DialogFragment中忽略“搜索”键

我之前为Dialog扩展了Dialog类,我不得不在对话框中使用以下代码段,以便在按下手机的搜索键时不会将其解除: setOnKeyListener(new OnKeyListener() { public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_SEARCH) return true; // pretend we’ve processed it else return false; // pass on to be processed as normal } }); 我现在使用DialogFragment类作为我的对话框。 不幸的是, DialogFragment与Dialog有同样的问题,当按下手机的搜索键时,对话框被解除(无论对话框的可取消状态如何)。 双重问题是DialogFragment没有setOnKeyListener方法,因此上面的代码段不再适用。 任何人都知道如何让我的对话框(显示时)忽略搜索键按下? 注意:我尝试将上面的代码段添加到我的activity的onKeyUp方法中,但遗憾的是,如果显示DialogFragment实例,则不会调用我的activity的onKeyUp方法。 相反,令人恼火的是, DialogFragment实例被解雇了。

如何在actionBar android中显示Fragment中的DialogFragment

我使用Tabs ActionBar和Fragments。 在一个片段里面我有按钮。 我想在按下按钮时显示DialogFragment (在我的片段中)。 我怎样才能做到这一点? 这是我的代码 public class MainActivity extends FragmentActivity implements EditNameDialogListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //showEditDialog(); ActionBar actionbar = getActionBar(); // Tell the ActionBar we want to use Tabs. actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); // initiating both tabs and set text to it. ActionBar.Tab InboxTab = actionbar.newTab().setText(“One”); ActionBar.Tab SentTab = actionbar.newTab().setText(“Two”); […]

onAttach()从未在DialogFragment中调用过

我尝试从DialogFragment实现回调。 有一个很好的例子,但它们不会从Fragment打开这个DialogFragment 。 http://developer.android.com/guide/topics/ui/dialogs.html#PassingEvents 所以这是我的代码: public class EditDateDialogFragment extends DialogFragment { // Use this instance of the interface to deliver action events EditDateDialogListener mListener; /* The activity that creates an instance of this dialog fragment must * implement this interface in order to receive event callbacks. * Each method passes the DialogFragment in case the […]

Dialog Fragment with和EditText在加载后自动显示键盘

我有一个DialogFragment,其中包含一个EditText视图。 每次我显示对话框时,edittext都会有焦点并且键盘出现。 如何阻止它自动启动? 我尝试在我的清单android:windowSoftInputMode=”stateHidden”放入创建片段但没有效果的活动中 这是我的对话框片段 public class RegDialog extends DialogFragment { OnRegComplete mRegComplete; @Override public void onAttach(Activity activity){ super.onAttach(activity); try{ mRegComplete = (OnRegComplete)activity; }catch(ClassCastException e){ throw new ClassCastException(activity.toString() + ” must implement OnRegComplete”); } } public Dialog onCreateDialog(Bundle state){ Dialog d = new Dialog(getActivity()); d.requestWindowFeature(Window.FEATURE_NO_TITLE); d.setContentView(R.layout.registration); d.setCanceledOnTouchOutside(false); return d; } public interface OnRegComplete{ void onRegComplete(); […]

当按下后,AlertDialog被解雇

我正在使用具有以下属性的警报对话框。问题是当我单击后退按钮或在对话框外触摸我不想要时,对话框是不受欢迎的。如何解决这个问题,因为setCancelable没有帮助。 AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setMessage(R.string.check_internet); builder.setCancelable(false);

无法获得透明的DialogFragment

我有一个对话片段看起来像那样。 AlertDialog ad = builder.create(); Drawable d = new ColorDrawable(Color.BLACK); d.setAlpha(130); ad.getWindow().setBackgroundDrawable(d); 此代码使背景半透明。 但我仍然在底部有一个白色的部分。 我想摆脱白色只是半透明的背景 我已经尝试了很多我在其他post中看到过的东西。 我不知道我必须在DialogFragment,AlertDialog和LinearLayout之间改变什么对象。 它可能不是LinearLayout,因为当我增加边距时,没有任何东西在移动。 这是我的代码: @Override public Dialog onCreateDialog(Bundle savedInstanceState) { // setStyle(DialogFragment.STYLE_NORMAL, 0); // setStyle(STYLE_NO_FRAME, R.style.CustomDialog); // setStyle(STYLE_NO_FRAME, 0); AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); View view = getActivity().getLayoutInflater().inflate( R.layout.share_or_die, null); AlertDialog ad = builder.create(); Drawable d = new ColorDrawable(Color.BLACK); d.setAlpha(130); […]