gpt4 book ai didi

java - Android:启动从 Activity 返回结果的对话框

转载 作者:行者123 更新时间:2023-11-30 01:58:15 25 4
gpt4 key购买 nike

我想从我的 Activity 中启动一个对话框。
对话框返回一些对我有用的结果。
我怎样才能做到这一点?
我不知道在“?”(下面提到)中放什么,因为我的 DialogClass 扩展了 Fragment 而不是 Activity 。
请更正以下代码:

我的 Activity 中的代码 fragment :

    buttonDone.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(this,?);
startActivityForResult(intent,1);
}
});

//On Activity result method
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != Activity.RESULT_OK) return;
if (requestCode == GlobalVariables.REQUEST_CODE_LIST_NAME) {
Log.d("Result received","");
}
}

我的对话框 fragment :

public static class MyDialogClass extends DialogFragment
{
private String textListName;
@Override
public Dialog onCreateDialog(Bundle bundle)
{
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(TagClass.ENTER_NAME);
final EditText input = new EditText(getActivity());
input.setInputType(InputType.TYPE_CLASS_TEXT);
builder.setView(input);
builder.setPositiveButton(TagClass.OK, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
textListName = input.getText().toString();

if (!textListName.equals("")) {
Intent i = new Intent();
i.putExtra("ListName", textListName);

startActivityForResult(i,1);

} else
input.setError(TagClass.ERROR_BLANK_FIELD);
}
});
builder.setNegativeButton(TagClass.CANCEL, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
return builder.create();
}
}

最佳答案

检查此代码 fragment ,它描述了如何在 Activity 中显示 fragment 。

// Create new fragment and transaction
Fragment newFragment = new ExampleFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();

// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);

// Commit the transaction
transaction.commit();

关于java - Android:启动从 Activity 返回结果的对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31868075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com