【发布时间】:2017-07-11 09:22:41
【问题描述】:
我正在使用 AlertDialog 和 1 EditText。我想知道如何将字符串从AlertDialog 发送到Fragment。
请检查我下面的代码。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_datasource){
enterdatasourceId();
return true;
}
return super.onOptionsItemSelected(item);
}
enterdatasourceId的代码是:
public void enterdatasourceId() {
LayoutInflater inflater = LayoutInflater.from(this);
final View dialogView = inflater.inflate(R.layout.cutom_dialog,null);
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this);
dialogBuilder.setTitle("Enter you unique ID");
dialogBuilder.setCancelable(false);
dialogBuilder.setView(dialogView);
final EditText datasource1 = (EditText) dialogView.findViewById(R.id.datasource_id);
dialogBuilder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
String dsource = datasource1.getText().toString().trim();
Intent intent = new Intent();
intent.putExtra("Datasource",dsource);
}
});
dialogBuilder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.cancel();
}
});
AlertDialog customDialog = dialogBuilder.create();
customDialog.show();
}
以下是我想要接收该字符串的片段的代码
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Datasource = getActivity().getIntent().getStringExtra("Datasource");
}
在Fragment 中,我想接收我在AlertDialog 中输入的字符串,并且从这里我将该字符串作为参数发送到我的其他类中。我想明确指出,我使用AlertDialog 的Activity 是dashboad2.java,而我想要接收该字符串的片段在同一个Activity (dashboard2.java) 中
【问题讨论】:
-
意图意图 = new Intent(); intent.putExtra("数据源",dsource);此意图用于转到其他活动?
-
不!当应用程序启动一个带有edittext的alertdialog弹出并按下确定按钮时,对话框消失并且片段获得焦点
-
你可以这样使用:Bundle bundle = new Bundle(); fragment.setArguments(bundle);
-
在片段中我应该如何获取数据
-
能否分享一些代码
标签: android android-fragments android-intent android-alertdialog