Tag: android dialogfragment

DialogFragment并强制显示键盘

我的DialogFragment有问题。 所以要创build我的视图,我使用在Android博客上描述的方法。 这是我的DialogFragment @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { final View myLayout = inflater.inflate(R.layout.dialog_connect, null); edit = (EditText) myLayout.findViewById(R.id.password_edit); edit.requestFocus(); getDialog().getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE); return myLayout; } 如果我使用onCreateView(),它的工作原理,但我想创build一个AlterDialog并做到这一点,我有以下代码: @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); // Inflate and set the layout for the dialog // Pass null as the parent […]

从onRequestPermissionsResult()中调用DialogFragment的show()会导致Marshmallow中的IllegalStateException

脚步: 从Fragment或Activity请求许可 在onRequestPermissionsResult()显示DialogFragment 抛出java.lang.IllegalStateException : onSaveInstanceState后无法执行此操作 这是不会发生,当我显示对话后,延迟(使用postDelayed)。 根据http://www.androiddesignpatterns.com/2013/08/fragment-transaction-commit-state-loss.html )我们可以在onPause()和onStop()之间commit() onStop()没有任何状态丢失或EXCEPTION。 这里是一个示例项目源,日志文件和logging问题的链接。 https://drive.google.com/folderview?id=0BwvvuYbQTUl6STVSZF9TX2VUeHM&usp=sharing 另外我已经打开了一个问题https://code.google.com/p/android/issues/detail?id=190966,但它被标记为WorkingAsIntended,他们build议只是捕捉exception。 但是这并不能解决问题。 我知道解决它的其他方法,但不是这个android的bug? 更新 bug的状态再次被“分配”。 希望很快就能解决。 我的临时解决scheme是 new Handler().postDelayed(new Runnable() { @Override public void run() { // do your fragment transaction here } }, 200);

防止单击button时DialogFragment解散

我有一个自定义视图的DialogFragment,其中包含两个文本字段,用户将input他们的用户名和密码。 当单击肯定button时,我想validation用户在解除对话之前实际上是否input了某些内容。 public class AuthenticationDialog extends DialogFragment { public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); LayoutInflater inflater = getActivity().getLayoutInflater(); builder.setView(inflater.inflate(R.layout.authentication_dialog, null)) .setPositiveButton(getResources().getString(R.string.login), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // TODO } }) .setNegativeButton(getResources().getString(R.string.reset), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // TODO } }); return […]

如何使DialogFragment宽度为Fill_Parent

你好我正在一个android应用程序,我正在使用DialogFragment来显示对话框,但其宽度是非常小的。 我怎样才能使这个宽度fill_parent它? public class AddNoteDialogFragment extends DialogFragment { public AddNoteDialogFragment() { // Empty constructor required for DialogFragment } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { getDialog().setTitle(getString(R.string.app_name)); View view = inflater.inflate(R.layout.fragment_add_note_dialog, container); return view; } @Override public Dialog onCreateDialog(Bundle savedInstanceState) { Dialog dialog = super.onCreateDialog(savedInstanceState); // request a window without the title dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE); […]

DialogFragment在Android中的位置

我有一个DialogFragment来显示一个像Popup屏幕的View 。 该窗口始终显示在屏幕的中间。 有没有办法设置DialogFragment窗口的位置? 我查看了源代码,但是还找不到任何东西。

在DialogFragment中的ActionBar

在我的Galaxy Tab 10.1上的日历应用程序中,创build新事件时,会在标题栏/动作栏区域中显示完成和取消button。 我想在我的应用程序中实现这一点。 我已经尝试使用setHasOptionsMenu(true)除了重写onCreateOptionsMenu在我的DialogFragment子类,但我的行动项目不会出现。 我也尝试从onCreateView调用getDialog().getActionBar() ,但它总是返回null 。 我能够得到这个工作,如果我开始一个Activity而不是显示一个对话框,但占用了整个屏幕。 有没有一个标准的方法来做到这一点使用DialogFragment ?

如何更改小吃店的背景颜色?

我正在DialogFragment中显示快餐栏在alertDialog的正面点击。 这是我的代码片段。 Snackbar snackbar = Snackbar.make(view, "Please enter customer name", Snackbar.LENGTH_LONG) .setAction("Action", null); View sbView = snackbar.getView(); sbView.setBackgroundColor(Color.BLACK); snackbar.show(); 我将对话框的视图传递给快餐栏。 我想要背景颜色黑色? 我怎样才能做到这一点? 我在DialogFragment中返回alertDialog。 我正在设置的对话框的主题如下 <style name="MyAlertDialogStyle" parent="Theme.AppCompat.Light.Dialog.Alert"> <!– Used for the buttons –> <item name="colorAccent">@color/accent</item> <!– Used for the title and text –> <item name="android:textColorPrimary">@color/primary</item> <!– Used for the background –> <item name="android:background">@color/white</item> </style> 虽然我设置背景颜色为白色的对话框,它应该覆盖设置背景颜色快餐栏。

onRequestPermissionsResult不在对话框片段中调用

我已经开始使用Android M运行时权限。 在这里,我面临的问题是,如果requestPermissions从Dialog Fragment类被调用,然后onRequestPermissionsResult不被调用在相同的Dialog fragment类。 但是,如果从Activity类或Fragment类调用requestPermissions则onRequestPermissionsResult方法将在同一个类中调用。 这是我的示例代码: public class ContactPickerDialog extends DialogFragment { private static final int READ_CONTACTS_REQUEST_CODE = 12; private Context mContext; private void loadContact() { if(hasPermission(mContext, Manifest.permission.READ_CONTACTS)){ new ContactSyncTask().execute(); } else { this.requestPermissions(new String[]{Manifest.permission.READ_CONTACTS}, READ_CONTACTS_REQUEST_CODE); } } @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { Logger.d("TAG", "dialog onRequestPermissionsResult"); switch (requestCode) { […]

当应用程序在后台时正确的解除DialogFragment的方法

我开始使用DialogFragment,因为他们通过改变方向和东西很好地工作。 但是我遇到了一个很讨厌的问题。 我有AsyncTask显示进度DialogFragment并closuresonPostExecute 。 一切工作正常,除非当应用程序在后台(例如按下主屏幕button后) onPostExecute时发生。 然后,我得到了DialogFragment消失的这个错误 – “ Can not perform this action after onSaveInstanceState ”。 卫生署。 定期的对话框工作得很好。 但不是FragmentDialog。 所以我想知道,当应用程序在后台时解除DialogFragment的正确方法是什么? 我还没有真正与Fragments合作过,所以我觉得我只是错过了一些东西。

getSupportFragmentManager()是未定义的

我收到以下错误: “在下面显示的片段文件中, ”getSupportFragmentManager()方法未定义为typesnew View.OnClickListener(){}“ 。 我有通过ABS引用的兼容性库和正确的导入。 我重新安装ABS库w /兼容库,清理项目,重新启动Eclipse,但没有任何工作。 本质上,我试图让片段显示一个dateselect器通过一个对话框片段。 一旦selectdate,它必须返回到片段,以便它可以用来计算基于该date的信息。 这是我的片段的代码: package com.owentech.abstabsviewpager; import android.app.Activity; import android.app.Dialog; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Button; import android.widget.Toast; import android.support.v4.app.DialogFragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.app.FragmentActivity; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTransaction; import com.actionbarsherlock.app.SherlockFragment; public class ObstetricsFragment1 extends SherlockFragment{ @Override public View onCreateView(LayoutInflater inflater, […]