Android 从DialogFragment返回值到其他活动

Android 从DialogFragment返回值到其他活动,android,dialogfragment,Android,Dialogfragment,这是我的对话片段。下面您可以看到在我从对话框的数字列表中选择后保留结果的字符串选择。 如何在其他活动中保存此值 final CharSequence[] items= {"1","2","3","4"}; String selection; @Override public Dialog onCreateDialog(Bundle savedInstanceState){ AlertDialog.Builder builder= new AlertDialog.Builder

这是我的对话片段。下面您可以看到在我从对话框的数字列表中选择后保留结果的字符串选择。 如何在其他活动中保存此值

final   CharSequence[] items= {"1","2","3","4"};

String selection;
@Override
public Dialog onCreateDialog(Bundle savedInstanceState){



    AlertDialog.Builder builder= new AlertDialog.Builder(getActivity());
    builder.setTitle("CHOOSE YOUR ITEM TO DELETE").setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            switch (which){
                case 0:
                    selection=(String) items[which];
                    break;
                case 1:
                    selection=(String) items[which];
                    break;
                case 2:
                    selection=(String) items[which];
                    break;


            }

        }
    }).setPositiveButton("OK", new DialogInterface.OnClickListener(){
        @Override
        public void onClick(DialogInterface dialog, int which) {
            Toast.makeText(getActivity(),"Your item to delete is  "+ selection,Toast.LENGTH_SHORT).show();

        }




    });
    return builder.create();
}


}

定义一个侦听器/回调,让另一个
活动执行并响应此
对话框片段中的选择。StackOverflow包含许多实现示例。

定义一个侦听器/回调,并让另一个
活动实施并响应此
对话框片段中的选择。StackOverflow包含许多实现示例。

活动中定义一个公共方法
和一个私有
变量
,如下所示

private String mString;

public setString(String s)
{
   this.mString = s;
}
当用户单击按钮“获取活动”并设置所选字符串时,如下所示:

((YourActivity)getActivity).setString(selectedString);
然后,您可以使用
Bundle
将字符串传递给其他活动

如果在许多活动中显示此
对话框片段
,则可以定义一个
侦听器
,并在活动中实现

public interface SelectionListener{
   void onStringSelected(String s);
}

((SelectionListener)getActivity).onStringSelected(selectedString);

活动中定义公共方法
和私有
变量
,如下所示

private String mString;

public setString(String s)
{
   this.mString = s;
}
当用户单击按钮“获取活动”并设置所选字符串时,如下所示:

((YourActivity)getActivity).setString(selectedString);
然后,您可以使用
Bundle
将字符串传递给其他活动

如果在许多活动中显示此
对话框片段
,则可以定义一个
侦听器
,并在活动中实现

public interface SelectionListener{
   void onStringSelected(String s);
}

((SelectionListener)getActivity).onStringSelected(selectedString);
永久保存:- 为了在活动中永久保存您的价值,您可以使用数据库,比如sqlite。 临时储蓄:- 1.对于这些,您有一个全局ArrayList选项,通过它您可以存储。 2.您可以按此处所述使用回调,这与您遇到的问题几乎相同

你 有关永久保存的更多详细信息,请参见以下示例:- 为了在活动中永久保存您的价值,您可以使用数据库,比如sqlite。 临时储蓄:- 1.对于这些,您有一个全局ArrayList选项,通过它您可以存储。 2.您可以按此处所述使用回调,这与您遇到的问题几乎相同

你 有关更多详细信息,请参见这些示例