是否可以一个接一个地显示多个对话框?是否有类似Dialog Z-Level的东西?我正在使用DialogFragment,用户选择元素,当他确认他的选择时,它被保存到数据库并在服务器上发送.如果保存操作失败,我想通知用户...另一个对话框是否可能?它不会清除我的第一个对话吗?提前致谢.
好日子,正如标题所说,任何人都知道如何在片段中从CursorLoader加载数据时实现进度对话框.在这方面找不到任何例子.任何有关如何操作的链接或指南将受到高度赞赏.谢谢
android android-fragments android-dialog android-cursorloader
我正在使用以下代码创建一个Dialog aleart框,其中包含来自studentNames ArrayList的列表项.我正在通过读取子文件数组创建此ArrayList.但是当此代码运行时,它只显示一个零列表项的对话框.我甚至检查了我的studentNames对于null,但它有值.根据文档我需要设置ListAdapter在对话框中显示列表项,但这也不适合我.请帮我找到问题.
ArrayList<String> studentNames = new ArrayList<String>();
for (File file2 : childfile) {
studentNames.add(file2.getName());
}
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle(student.getName()).setAdapter(new ArrayAdapter(context, android.R.layout.simple_list_item_1, studentNames),
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
switch (which) {
cases
}
}
});
builder.create();
builder.show();
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个DialogFragment,其中嵌入了一个ListFragment.我正在使用4.2.2中添加的嵌套片段我将它与支持库一起使用,因此我的api版本应该无关紧要(对于记录,我的操作系统版本也是4.2.2).
我正在尝试添加的listfragment现在只显示字符串,因为我正在尝试添加它,在我这样做之后,列表将有图像等等.所以请将任何将字符串列表传递给对话框的想法对我不好,我的列表会更复杂..此外,我正在尝试将此片段重用于平板电脑模式.列表始终应该以该模式显示.因此重用很重要.
我的问题是当我尝试将listfragment添加到对话框的FrameLayout时,无法找到它:
java.lang.IllegalStateException:Fragment在android.support.v4.app.Fragment $ 1.findViewById(Fragment.java:1425)的android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:901)中没有视图)位于android.support.v4.支持的android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088),android.support.v4.Ad.FragmentManagerImpl的android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682). execPendingActions(FragmentManager.java:1444)在android.support.v4.app.Fragment.performStart(Fragment.java:1481)的android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:941)android.support .v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1088)位于android.support.v4.app.BackStackRecord.run(BackStackRecord.java:682)android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java) :1444)在android.os.Handler.handleCallback(Handler.java:725)的android.support.v4.app.FragmentManagerImpl $ 1.run(FragmentManager.java:429)在android.os.Handler.dispatchMessage(Handler.java:92)的android.app.Looper.loop(Looper.java:137)在android.app.ActivityThread.main(ActivityThread.java:5041)的java.lang上.在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:793)的com.android.internal.os.ZygoteInit上的java.lang.reflect.Method.invoke(Method.java:511)中的reflect.Method.invokeNative(Native Method). android.internal.os.ZygoteInit.main(ZygoteInit.java:560)at dalvik.system.NativeStart.main(Native Method)
也许这个新信息很重要,DialogFragment显示在SupportMapFragment中.当我尝试在SupportMapFragment中显示ListFragment时,它可以工作.此外,当我试图在SupportMapFragment中显示DialogFragment时 - 它可以工作.
就在我尝试在DialogFragment中显示ListFragment时,它失败了.所以它看起来像这样:FragmentActivity - > SupportMapFragment - > DialogFragment - > ListFragment.
SupportMapFragment中显示的DialogFragment如下所示:
// DialogFragment.show() will take care of adding the fragment
// in a transaction. We also want to remove any currently showing
// dialog, so make our own transaction and take care of that here.
FragmentTransaction ft = getChildFragmentManager().beginTransaction();
SherlockDialogFragment prev =(SherlockDialogFragment)getChildFragmentManager().findFragmentByTag("dialog");
if (prev != null) {
ft.remove(prev);
} …Run Code Online (Sandbox Code Playgroud) android android-fragments android-dialog android-dialogfragment android-listfragment
我在下面的行中收到错误:
AlertDialog.Builder alrtDialog = new AlertDialog.Builder(this);
Run Code Online (Sandbox Code Playgroud)
错误显示是:
AlertDialog.Builder无法解析为某种类型
我为此导入以下内容:
import android.content.DialogInterface;
Run Code Online (Sandbox Code Playgroud)
示例中的java代码(来自android编程释放)包括android.app.AlertDialog但导入此结果的消息:与同一文件中定义的类型冲突
我的要求就像每当用户从数字选择器中选择任何数字时,该数字应该打印在某个文本视图上,第二次,当用户再次打开对话框时,应该在该对话框上显示先前选择的数字
...
...
view = (TextView) findViewById(R.id.textView7);
LinearLayout L = (LinearLayout) findViewById(R.id.linearLayout5);
L.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showdialog();
}
});
}
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
Log.i("value is",""+newVal);
}
public void showdialog()
{
Dialog dialog = new Dialog(NameActivity.this);
View npView = getLayoutInflater().inflate(R.layout.multidialog, null);
final NumberPicker firPicker =
(NumberPicker) npView.findViewById(R.id.numberPicker1);
firPicker.setMaxValue(9);
firPicker.setMinValue(0);
final NumberPicker secPicker =
(NumberPicker) npView.findViewById(R.id.numberPicker2);
secPicker.setMaxValue(9);
secPicker.setMinValue(0);
final NumberPicker tirPicker =
(NumberPicker) npView.findViewById(R.id.numberPicker3);
tirPicker.setMaxValue(9);
tirPicker.setMinValue(0);
AlertDialog.Builder builder = new …Run Code Online (Sandbox Code Playgroud) 我有一些关于EditText字段的对话框.当我想填补一些EditText键盘打开,我无法填写上面的一些字段.我应该关闭键盘,然后点击EditText上面.如何在键盘打开时使对话框可滚动以避免关闭键盘?
我有一个LoginActivity地方,我使用这样的AppCompat主题:
<activity
android:name=".LoginActivity"
android:theme="@style/Theme.AppCompat.Light.Dialog"
android:label="Login" />
Run Code Online (Sandbox Code Playgroud)
我知道在这篇文章中Google还没有在DIALOGS的AppCompat库中添加Material Themes,所以我认为它会回归到Holo.相反,这就是我得到的:

请记住,我没有使用AppCompat toolBar.在Activity,我甚至没有提到ActionBar.你在上面看到的是默认行为,但我无法弄清楚它的来源.这可能是个错误吗?
(此外,EditText字段未使用应用的主要颜色进行着色.)
我想为我的自定义对话框设置一些动画,我想以编程方式进行.我知道我可以用xml动画这样做:
<style name="DialogAnimation">
<item name="android:windowEnterAnimation">@anim/slide_up_dialog</item>
<item name="android:windowExitAnimation">@anim/slide_out_down</item>
</style>
Dialog imageDiaglog= new Dialog(MainActivity.this,R.style.DialogAnimation);
Run Code Online (Sandbox Code Playgroud)
但我想以编程方式进行.如何将以编程方式创建的动画设置为Dialog的show()和hide()方法?
谢谢.
不确定我是否遗漏了一些明显的东西,但是当显示对话框时,我无法在父屏幕中获取灰色叠加背景。使用此代码创建一个全新的应用程序:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
TestsTheme {
// A surface container using the 'background' color from the theme
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.background
) {
Column(modifier = Modifier.fillMaxSize()) {
Greeting("Android")
}
CustomDialog()
}
}
}
}
}
@Composable
fun CustomDialog() {
var showDialog by remember { mutableStateOf(true) }
if (showDialog) {
Dialog(onDismissRequest = {
showDialog = !showDialog
}) {
Column(modifier = Modifier.fillMaxWidth()
.background(color = Color.Red)) {
Text(text = "Hello …Run Code Online (Sandbox Code Playgroud)