Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.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 如何在解析中从数组中删除字符串_Java_Android_Parse Platform - Fatal编程技术网

Java 如何在解析中从数组中删除字符串

Java 如何在解析中从数组中删除字符串,java,android,parse-platform,Java,Android,Parse Platform,我目前正在使用Android的解析API,我的应用程序中目前有一个字符串数组。我当前有一个包含所有字符串的ListView。在我的应用程序中,在ListView本身中,我实现了一个带有对话框的setOnItemLongClickListener。我想从解析中删除选定ListView项的字符串 NotesFragment.java public class NotesFragment extends Fragment { ParseUser user; ListView not

我目前正在使用Android的解析API,我的应用程序中目前有一个字符串数组。我当前有一个包含所有字符串的ListView。在我的应用程序中,在ListView本身中,我实现了一个带有
对话框的
setOnItemLongClickListener
。我想从解析中删除选定ListView项的字符串

NotesFragment.java

public class NotesFragment extends Fragment {

    ParseUser user;
    ListView notesList;
    private FloatingActionButton FAB;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_notes, container, false);

        notesList = (ListView) rootView.findViewById(R.id.lv_contact);
        user = ParseUser.getCurrentUser();

        FAB = (FloatingActionButton) rootView.findViewById(R.id.fab);
        FAB.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent intent = new Intent(getContext(), AddNoteActivity.class);
                getActivity().overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
                startActivity(intent);
            }
        });

        final ArrayList<ParseObject> list1 = (ArrayList) user.getList("notes");
        ArrayAdapter<ParseObject> arrayAdapter;
        arrayAdapter = new ArrayAdapter<ParseObject>(getContext(), android.R.layout.simple_list_item_1, list1);

        RelativeLayout emptyView = (RelativeLayout) rootView.findViewById(R.id.empty);

        if (list1 == null) {

            emptyView.setVisibility(View.VISIBLE);


        } else {

            notesList.setAdapter(arrayAdapter);
            emptyView.setVisibility(View.INVISIBLE);

        }

        notesList.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {

            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
                new AlertDialog.Builder(getContext())
                        .setTitle("Are you sure you want to Delete?")
                        .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int whichButton) {

                                ArrayList<String> toRemove = new ArrayList<>();
                                toRemove.add("Hey");
                                ParseUser.getCurrentUser().removeAll("checklistDat", toRemove);
                                ParseUser.getCurrentUser().saveInBackground();
                                ParseUser.getCurrentUser().deleteInBackground();

                            }
                        })


                        .setNegativeButton("No", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int whichButton) {


                            }
                        })
                        .show();
                return true;
            }
        });

        return rootView;
    }

}
    public class NotesFragment extends Fragment {

    ParseUser user;
    ListView notesList;
    ProgressBar mPB;
    private FloatingActionButton FAB;
    ArrayList<ParseObject> list1 = (ArrayList) ParseUser.getCurrentUser().getList("notes");

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_notes, container, false);

        mPB = (ProgressBar) rootView.findViewById(R.id.progress_bar);

        mPB.setVisibility(View.VISIBLE);

        new Handler().postDelayed(new Runnable() {

            @Override
            public void run() {
                mPB.setVisibility(View.GONE);
            }

        }, 3500);

        notesList = (ListView) rootView.findViewById(R.id.lv_contact);
        user = ParseUser.getCurrentUser();

        FAB = (FloatingActionButton) rootView.findViewById(R.id.fab);
        FAB.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent intent = new Intent(getContext(), AddNoteActivity.class);
                getActivity().overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
                startActivity(intent);
            }
        });


        final ArrayAdapter<ParseObject> arrayAdapter;
        arrayAdapter = new ArrayAdapter<ParseObject>(getContext(), android.R.layout.simple_list_item_1, list1);

        final RelativeLayout emptyView = (RelativeLayout) rootView.findViewById(R.id.empty);

        if (list1 == null) {

            emptyView.setVisibility(View.VISIBLE);
            mPB.setVisibility(View.GONE);


        } else {

            notesList.setAdapter(arrayAdapter);
            emptyView.setVisibility(View.INVISIBLE);

        }

        notesList.setLongClickable(true);
        notesList.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
                new android.app.AlertDialog.Builder(getContext())
                        .setTitle("Delete?")
                        .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int whichButton) {
                                list1.remove(position);
                                ParseUser.getCurrentUser().remove("notes");
                                ParseUser.getCurrentUser().put("notes", list1);
                                ParseUser.getCurrentUser().saveInBackground(new SaveCallback() {
                                    @Override
                                    public void done(ParseException e) {

                                        Toast.makeText(getContext(), "Deleted", Toast.LENGTH_SHORT).show();


                                        if (list1.toString().equals("[]")) {

                                            emptyView.setVisibility(View.VISIBLE);
                                            mPB.setVisibility(View.GONE);


                                        } else {

                                            notesList.setAdapter(arrayAdapter);
                                            emptyView.setVisibility(View.INVISIBLE);

                                        }

                                    }
                                });
                            }
                        })


                        .setNegativeButton("No", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int whichButton) {

                            }
                        })
                        .show();
                return true;
            }
        });

        return rootView;
    }
}
public类NotesFragment扩展片段{
解析用户;
列表视图注释列表;
私人浮动按钮制造厂;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
}
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图根视图=充气机。充气(R.layout.fragment\u注释,容器,false);
notesList=(ListView)rootView.findViewById(R.id.lv_联系人);
user=ParseUser.getCurrentUser();
FAB=(FloatingActionButton)rootView.findViewById(R.id.FAB);
FAB.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
Intent Intent=新的Intent(getContext(),AddNoteActivity.class);
getActivity().重写EndingTransition(R.anim.slide\u in\u left,R.anim.slide\u out\u left);
星触觉(意向);
}
});
最终ArrayList列表1=(ArrayList)user.getList(“注释”);
ArrayAdapter ArrayAdapter;
arrayAdapter=newArrayAdapter(getContext(),android.R.layout.simple\u list\u item\u 1,list1);
RelativeLayout emptyView=(RelativeLayout)rootView.findViewById(R.id.empty);
if(list1==null){
emptyView.setVisibility(View.VISIBLE);
}否则{
notesList.setAdapter(arrayAdapter);
emptyView.setVisibility(View.INVISIBLE);
}
notesList.setOnItemLongClickListener(新的AdapterView.OnItemLongClickListener(){
@凌驾
公共布尔值长单击(AdapterView父对象、视图、最终整型位置、长id){
新建AlertDialog.Builder(getContext())
.setTitle(“是否确实要删除?”)
.setPositiveButton(“是”,新的DialogInterface.OnClickListener(){
public void onClick(对话框接口对话框,int whichButton){
ArrayList toRemove=新建ArrayList();
删除。添加(“嘿”);
ParseUser.getCurrentUser().removeAll(“checklistDat”,toRemove);
ParseUser.getCurrentUser().saveInBackground();
ParseUser.getCurrentUser().deleteInBackground();
}
})
.setNegativeButton(“否”,新的DialogInterface.OnClickListener(){
public void onClick(对话框接口对话框,int whichButton){
}
})
.show();
返回true;
}
});
返回rootView;
}
}

我可以通过这样做来解决这个问题

NotesFragment.java

public class NotesFragment extends Fragment {

    ParseUser user;
    ListView notesList;
    private FloatingActionButton FAB;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }


    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_notes, container, false);

        notesList = (ListView) rootView.findViewById(R.id.lv_contact);
        user = ParseUser.getCurrentUser();

        FAB = (FloatingActionButton) rootView.findViewById(R.id.fab);
        FAB.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent intent = new Intent(getContext(), AddNoteActivity.class);
                getActivity().overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
                startActivity(intent);
            }
        });

        final ArrayList<ParseObject> list1 = (ArrayList) user.getList("notes");
        ArrayAdapter<ParseObject> arrayAdapter;
        arrayAdapter = new ArrayAdapter<ParseObject>(getContext(), android.R.layout.simple_list_item_1, list1);

        RelativeLayout emptyView = (RelativeLayout) rootView.findViewById(R.id.empty);

        if (list1 == null) {

            emptyView.setVisibility(View.VISIBLE);


        } else {

            notesList.setAdapter(arrayAdapter);
            emptyView.setVisibility(View.INVISIBLE);

        }

        notesList.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {

            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
                new AlertDialog.Builder(getContext())
                        .setTitle("Are you sure you want to Delete?")
                        .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int whichButton) {

                                ArrayList<String> toRemove = new ArrayList<>();
                                toRemove.add("Hey");
                                ParseUser.getCurrentUser().removeAll("checklistDat", toRemove);
                                ParseUser.getCurrentUser().saveInBackground();
                                ParseUser.getCurrentUser().deleteInBackground();

                            }
                        })


                        .setNegativeButton("No", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int whichButton) {


                            }
                        })
                        .show();
                return true;
            }
        });

        return rootView;
    }

}
    public class NotesFragment extends Fragment {

    ParseUser user;
    ListView notesList;
    ProgressBar mPB;
    private FloatingActionButton FAB;
    ArrayList<ParseObject> list1 = (ArrayList) ParseUser.getCurrentUser().getList("notes");

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_notes, container, false);

        mPB = (ProgressBar) rootView.findViewById(R.id.progress_bar);

        mPB.setVisibility(View.VISIBLE);

        new Handler().postDelayed(new Runnable() {

            @Override
            public void run() {
                mPB.setVisibility(View.GONE);
            }

        }, 3500);

        notesList = (ListView) rootView.findViewById(R.id.lv_contact);
        user = ParseUser.getCurrentUser();

        FAB = (FloatingActionButton) rootView.findViewById(R.id.fab);
        FAB.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent intent = new Intent(getContext(), AddNoteActivity.class);
                getActivity().overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left);
                startActivity(intent);
            }
        });


        final ArrayAdapter<ParseObject> arrayAdapter;
        arrayAdapter = new ArrayAdapter<ParseObject>(getContext(), android.R.layout.simple_list_item_1, list1);

        final RelativeLayout emptyView = (RelativeLayout) rootView.findViewById(R.id.empty);

        if (list1 == null) {

            emptyView.setVisibility(View.VISIBLE);
            mPB.setVisibility(View.GONE);


        } else {

            notesList.setAdapter(arrayAdapter);
            emptyView.setVisibility(View.INVISIBLE);

        }

        notesList.setLongClickable(true);
        notesList.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view, final int position, long id) {
                new android.app.AlertDialog.Builder(getContext())
                        .setTitle("Delete?")
                        .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int whichButton) {
                                list1.remove(position);
                                ParseUser.getCurrentUser().remove("notes");
                                ParseUser.getCurrentUser().put("notes", list1);
                                ParseUser.getCurrentUser().saveInBackground(new SaveCallback() {
                                    @Override
                                    public void done(ParseException e) {

                                        Toast.makeText(getContext(), "Deleted", Toast.LENGTH_SHORT).show();


                                        if (list1.toString().equals("[]")) {

                                            emptyView.setVisibility(View.VISIBLE);
                                            mPB.setVisibility(View.GONE);


                                        } else {

                                            notesList.setAdapter(arrayAdapter);
                                            emptyView.setVisibility(View.INVISIBLE);

                                        }

                                    }
                                });
                            }
                        })


                        .setNegativeButton("No", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int whichButton) {

                            }
                        })
                        .show();
                return true;
            }
        });

        return rootView;
    }
}
public类NotesFragment扩展片段{
解析用户;
列表视图注释列表;
ProgressBar mPB;
私人浮动按钮制造厂;
ArrayList list1=(ArrayList)ParseUser.getCurrentUser().getList(“注释”);
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图根视图=充气机。充气(R.layout.fragment\u注释,容器,false);
mPB=(ProgressBar)rootView.findviewbyd(R.id.progress\u bar);
mPB.setVisibility(View.VISIBLE);
new Handler().postDelayed(new Runnable()){
@凌驾
公开募捐{
mPB.setVisibility(View.GONE);
}
}, 3500);
notesList=(ListView)rootView.findViewById(R.id.lv_联系人);
user=ParseUser.getCurrentUser();
FAB=(FloatingActionButton)rootView.findViewById(R.id.FAB);
FAB.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
Intent Intent=新的Intent(getContext(),AddNoteActivity.class);
getActivity().重写EndingTransition(R.anim.slide\u in\u left,R.anim.slide\u out\u left);
星触觉(意向);
}
});
最终阵列适配器阵列适配器;
arrayAdapter=newArrayAdapter(getContext(),android.R.layout.simple\u list\u item\u 1,list1);
final RelativeLayout emptyView=(RelativeLayout)rootView.findViewById(R.id.empty);
if(list1==null){
emptyView.setVisibility(View.VISIBLE);
mPB.setVisibility(View.GONE);
}否则{
notesList.setAdapter(arrayAdapter);
emptyView.setVisibility(View.INVISIBLE);
}
notesList.setLongClickable(true);
notesList.setOnItemLongClickListener(新的AdapterView.OnItemLongClickListener(){
@凌驾
公共布尔值长单击(AdapterView父对象、视图、最终整型位置、长id){
新的android.app.AlertDialog.Builder(getContext())
.setTitle(“删除?”)
.setPositiveButton(“是”,新的DialogInterface.OnClickListener(){
public void onClick(对话框接口对话框,int whichButton){
列表1.移除(位置);
ParseUser.getCurrentUser().remove(“注释”);
ParseUser.getCurrentUser().put(“注释”,列表1);