1.在string.xml中添加下列语句
<string name="del_crime">删除陋习</string>
2.修改list_item_crime.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/list_item_crime_delete_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="@string/del_crime"/>
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/list_item_crime_solved_check_box"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/list_item_crime_delete_button"
android:padding="4dp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/list_item_crime_title_text_view"
android:layout_toLeftOf="@+id/list_item_crime_solved_check_box"
android:textStyle="bold"
android:padding="4dp"
tools:text="Crime Title"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/list_item_crime_date_text_view"
android:layout_toLeftOf="@+id/list_item_crime_solved_check_box"
android:layout_below="@+id/list_item_crime_title_text_view"
android:padding="4dp"
tools:text="Crime Date"
/>
</RelativeLayout>
3.在CrimeListFragment.java的CrimeHolder中添加下列语句
private class CrimeHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
...
private Button mDeleteButton;
public CrimeHolder(View itemView){
...
mDeleteButton=(Button)itemView.findViewById(R.id.list_item_crime_delete_button);
}
public void bindCrime(Crime crime){
...
mDeleteButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view){
AlertDialog.Builder builder=new AlertDialog.Builder(getActivity());
builder.setMessage("确认要删除陋习"+mCrime.getTitle()+"?")
.setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogPreference,int position){
CrimeLab.get(getActivity()).delCrime(mCrime);
mAdapter.notifyDataSetChanged();
}
}).setNegativeButton("取消",null)
.create().show();
}
});
}
...
}
4.在CrimeLab.java中添加下列语句
public void delCrime(Crime c){
String uuidString=c.getId().toString();
mDatabase.delete(CrimeTable.NAME,CrimeTable.Cols.UUID+ " = ?",new String[]{uuidString});
}
1.png
2.png
3.png