Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在类和活动之间传递字符串的ArrayList?_Java_Android_Android Intent - Fatal编程技术网

Java 如何在类和活动之间传递字符串的ArrayList?

Java 如何在类和活动之间传递字符串的ArrayList?,java,android,android-intent,Java,Android,Android Intent,我在类和活动之间传递数组列表时遇到问题。 我知道我可以使用Intent在活动之间传递数组,但我不知道如何使用类和活动。请帮忙 这是我的课 public class MultipleChoiceDialogFragment extends DialogFragment implements Serializable { public interface onMultiChoiceListener{ void onPositiveButtonClicked(Strin

我在
活动
之间传递
数组列表时遇到问题。
我知道我可以使用
Intent
活动
之间传递数组,但我不知道如何使用
活动
。请帮忙


这是我的课


public class MultipleChoiceDialogFragment extends DialogFragment implements Serializable {



    public interface onMultiChoiceListener{
        void onPositiveButtonClicked(String[] list , ArrayList<String> selectedItemList);
        void  onNegativeButtonClicked()
;
    }

    onMultiChoiceListener mlistner;

    @Override
    public void onAttach(@NonNull Context context) {
        super.onAttach(context);
        try {
            mlistner = (onMultiChoiceListener) context;
        } catch (Exception e) {
            e.printStackTrace();
            throw new ClassCastException(getActivity().toString()+"onMultiChoiceListener must implemented");
        }
    }

    @NonNull
    @Override
    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {

        final ArrayList<String> selectedItemList = new ArrayList<>();

       // Intent i = new Intent(getContext(),MultipleChoiceDialogFragment.class);
     //   i.putStringArrayListExtra("arrayfinal",selectedItemList);

        AlertDialog.Builder mbuilder = new AlertDialog.Builder(getActivity());
        final String[] list = getActivity().getResources().getStringArray(R.array.selectableRole);
        mbuilder.setTitle("Chose Role").setMultiChoiceItems(list, null, new DialogInterface.OnMultiChoiceClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int i, boolean b) {
                if (b){
                    selectedItemList.add(list[i]);

                }else {
                    selectedItemList.remove(list[i]);

                }


            }
        })
                .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int i) {
                        mlistner.onPositiveButtonClicked(list, selectedItemList);

                    }
                })
                .setNegativeButton("Dismiss", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        mlistner.onNegativeButtonClicked();

                    }
                });

        return mbuilder.create();


    }



}

公共类multipleChiiceDialogFragment扩展DialogFragment实现可序列化{
MultiChoiceListener上的公共接口{
void onPositiveButtonClicked(字符串[]列表,ArrayList selectedItemList);
void onNegativeButtonClicked()
;
}
onMultiChoiceListener-mlistner;
@凌驾
public void onAttach(@NonNull上下文){
super.onAttach(上下文);
试一试{
mlistner=(onMultiChoiceListener)上下文;
}捕获(例外e){
e、 printStackTrace();
抛出新的ClassCastException(必须实现getActivity().toString()+“onMultiChoiceListener”);
}
}
@非空
@凌驾
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState){
最终ArrayList selectedItemList=新ArrayList();
//Intent i=新的Intent(getContext(),multipleEchoiceDialogFragment.class);
//i.putStringArrayListExtra(“arrayfinal”,selectedItemList);
AlertDialog.Builder mbuilder=新建AlertDialog.Builder(getActivity());
最终字符串[]列表=getActivity().getResources().getStringArray(R.array.selectableRole);
mbuilder.setTitle(“选择的角色”).setMultiChoiceItems(列表,空,新的DialogInterface.OnMultiChoiceClickListener(){
@凌驾
公共void onClick(DialogInterface dialog,int i,boolean b){
如果(b){
选择编辑列表。添加(列表[i]);
}否则{
选择编辑列表。删除(列表[i]);
}
}
})
.setPositiveButton(“确定”,新的DialogInterface.OnClickListener(){
@凌驾
公共void onClick(对话框接口对话框,int i){
mlistner.onPositiveButtonClicked(列表,selectedItemList);
}
})
.setNegativeButton(“disease”,新的DialogInterface.OnClickListener(){
@凌驾
public void onClick(DialogInterface dialog,int which){
mlistner.onNegativeButtonClicked();
}
});
返回mbuilder.create();
}
}

我想在另一项活动中使用最终列表

这是否回答了您的问题?向我们展示您的
课程
,并提供更多信息;您需要哪个输出。您必须提供示例代码和场景。您可以通过实现Parcellable将自定义类传递给Activity,但它可能不适合您的场景。这是我的类