Android 将 Activity 添加到带有 Intent 的对话框
Posted
技术标签:
【中文标题】Android 将 Activity 添加到带有 Intent 的对话框【英文标题】:Android add Activity to Dialog with Intent 【发布时间】:2018-12-28 04:45:15 【问题描述】:我以前从未使用过对话框。我目前拥有的是从 RecyclerView 列表加载到新活动的 json 数据。我设法让对话框在点击时加载,但没有数据。我不确定如何更改我的 Intent 以加载新活动以将数据加载到对话框中。
我以前的 onClick 与 Intent。
public void onClick(View view)
//Toast.makeText(context, "Clicked", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(context,DetailActivity.class);
intent.putExtra("url",dataMembers.posturl);
RestActivity.tContent = dataMembers.posturl;
context.startActivity(intent);
这是对话框,它打开但它是空白的。我不确定我将在何处或如何添加我的 Intent 以将数据放入对话框。
public void onClick(View view)
//Toast.makeText(context, "Clicked", Toast.LENGTH_SHORT).show();
DisplayMetrics metrics = context.getResources().getDisplayMetrics();
int DeviceTotalWidth = metrics.widthPixels;
int DeviceTotalHeight = metrics.heightPixels;
final Dialog dialog = new Dialog(context);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.activity_detail);
dialog.getWindow().setLayout(DeviceTotalWidth ,DeviceTotalHeight);
dialog.show();
Intent intent = new Intent(context,DetailActivity.class);
intent.putExtra("url",dataMembers.posturl);
RestActivity.tContent = dataMembers.posturl;
context.startActivity(intent);
【问题讨论】:
【参考方案1】:您可以使用正确的主题将活动作为对话框启动。请参阅下面的主题定义示例。除非它是一个简单的是/否对话框,否则建议使用 DialogFragment。参见DialogFragment vs Dialog的讨论
<style name="CompatDialogTheme" parent="@style/Theme.AppCompat.Dialog">
<item name="android:windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
【讨论】:
以上是关于Android 将 Activity 添加到带有 Intent 的对话框的主要内容,如果未能解决你的问题,请参考以下文章
如何在Android中将ActionBar添加到Activity
带有 Kotlin 的 Android - 将数据传回之前的 Activity