Java 如何在解析中从数组中删除字符串
我目前正在使用Android的解析API,我的应用程序中目前有一个字符串数组。我当前有一个包含所有字符串的ListView。在我的应用程序中,在ListView本身中,我实现了一个带有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
对话框的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);