【问题标题】:How do I show a dialog fragment over another app when sharing from that app?从该应用程序共享时,如何在另一个应用程序上显示对话框片段?
【发布时间】:2015-11-03 04:16:43
【问题描述】:
我正在制作一个其他应用共享/发送到的应用。发生这种情况时,我想在现有应用程序的顶部显示一个对话框,用户选择其中一个选项,然后我的应用程序会执行一些不可见的操作,并且用户会弹回原始应用程序 - 就像您将某些内容分享到 Google+ 时一样但是设置了多个帐户,它可以让您选择要使用的帐户。
目前,在 SEND Intent 上启动的活动 (SendToActivity) 本质上是一个正常的活动,使用 android:theme="@android:style/Theme.Translucent.NoTitleBar" 使其不可见。通过使用DialogFragment 并将SendToActivity 更改为扩展FragmentActivity 而不是AppCompatActivity,我是否会走上正确的道路?
【问题讨论】:
标签:
android
android-fragments
【解决方案1】:
我最终使用了一个 AlertDialog 和一个 ArrayAdapter 来制作列表:
AlertDialog.Builder builder = new AlertDialog.Builder(SendToActivity.this);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
for(String[] player: players){
adapter.add(player[0]);
}
builder.setTitle("Which Player?");
builder.setAdapter(adapter, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
sendToPlayer(item);
}
});
AlertDialog dialog = builder.create();
dialog.show();