我正在從數據庫中檢索項目名稱,項目描述和項目價格,當用戶單擊項目時,它將進入編輯活動,用戶可以更新或刪除數據,但是當我單擊列表項目時,它會將我帶回主活動當用戶單擊視圖數據時,單擊列表視圖后,它將顯示列表視圖,用戶應移動到編輯數據活動,其中編輯數據活動將顯示在編輯文本框中以進行更新或刪除我的代碼在一個參數項目名稱下運行良好,但是當我使用項目描述和項目價格時,會出現此錯誤private static final String TAG = "ListDataActivity";DatabaseHelper mDatabaseHelper;private ListView mListView;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list_data); mListView = (ListView) findViewById(R.id.listView); mDatabaseHelper = new DatabaseHelper(this); populateListView();}private void populateListView() { Log.d(TAG, "populateListView: Displaying data in the ListView."); Cursor data = mDatabaseHelper.getData(); ArrayList<String> listData = new ArrayList<>(); while(data.moveToNext()){ listData.add(data.getString(1)); } ListAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, listData); mListView.setAdapter(adapter); mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { String name = adapterView.getItemAtPosition(i).toString(); String des = adapterView.getItemAtPosition(i).toString(); String pri = adapterView.getItemAtPosition(i).toString(); Log.d(TAG, "onItemClick: You Clicked on " + name); Cursor data = mDatabaseHelper.getItemID(name, des, pri); //get the id associated with that name int itemID = -1; while(data.moveToNext()){ itemID = data.getInt(0); } } });}
1 回答

慕勒3428872
TA貢獻1848條經驗 獲得超6個贊
您的“列表數據”數組列表是一個字符串類型數組列表。因此,您只能在其中添加字符串。您需要創建一個類,例如
class Model {
String name;
String desc;
int price;
}
然后創建模型的數組列表。
ArrayList< Model> listData = new ArrayList<>();
然后將該模型 ArrayList 傳遞給適配器,并在需要時也可以獲取。
添加回答
舉報
0/150
提交
取消