-4
這是我的列表視圖活動。我想刪除列表視圖中的特定項目,而不是刪除表格中的所有項目。單擊列表視圖中的刪除數據庫
我已經搜索了類似的問題,但是我找到的所有解決方案都無法幫到我。我希望你們會幫助。
package com.example.asus.dogfeeder;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
public class ScheduleListActivity extends Activity {
ListView listView;
SQLiteDatabase sqLiteDatabase;
SchedDbHelper schedDbHelper;
Cursor cursor;
ListDataAdapter listDataAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_schedule_list);
listView =(ListView) findViewById(R.id.ListView);
listDataAdapter = new ListDataAdapter(getApplicationContext(), R.layout.row_layout);
listView.setAdapter(listDataAdapter);
schedDbHelper = new SchedDbHelper(getApplicationContext());
sqLiteDatabase = schedDbHelper.getReadableDatabase();
cursor = schedDbHelper.getInformations(sqLiteDatabase);
if(cursor.moveToFirst())
{
do{
String day,time,amount;
day = cursor.getString(0);
time = cursor.getString(1);
amount = cursor.getString(2);
DataProvider dataProvider = new DataProvider(day,time,amount);
listDataAdapter.add(dataProvider);
registerForContextMenu(listView);
}while(cursor.moveToNext());
}
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_context_menu, menu);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
switch (item.getItemId())
{
case R.id.delete_id:
sqLiteDatabase.delete(ScheduleContract.NewSchedInfo.TABLE_NAME,null,null);
listDataAdapter.notifyDataSetChanged();
Toast.makeText(getBaseContext(), "Deleted", Toast.LENGTH_SHORT).show();
return true;
default:
return super.onContextItemSelected(item);
}
}
}