gpt4 book ai didi

android - 从 ListView 插入项目和子项目

转载 作者:行者123 更新时间:2023-11-30 03:06:13 25 4
gpt4 key购买 nike

我的 ListView 有问题,我显示了一个项目和子项目,我想将两者插入数据库,但它不起作用!!错误是我无法将其转换为 TextView 请有人帮助我。

这是我得到的错误:

    java.lang.ClassCastException: android.widget.TwoLineListItem cannot be cast to android.widget.TextView

这里是 ListView 的代码:

    String[] databaseColumnNames = new String[] { DBAdapter.col_N_Ordre,DBAdapter.col_Nom_prénom};
int[] toViewIDs = new int[] { android.R.id.text1,android.R.id.text2 };

SimpleCursorAdapter myCursordapter = new SimpleCursorAdapter(this,android.R.layout.simple_expandable_list_item_2 , cursor, databaseColumnNames, toViewIDs);

ListView list = (ListView) findViewById(android.R.id.list);

list.setAdapter(myCursordapter);

这里是插入代码:

  list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(final AdapterView<?> arg0, View arg1,
final int position, long arg3) {

Toast.makeText(getApplicationContext(), " " + position, Toast.LENGTH_LONG).show();
final String s = ((TextView)arg1).getText().toString();
db.insertest(s);

查询是:

   public long insertest(String region) {
ContentValues initialValues = new ContentValues();
initialValues.put(col_Region,region);
//initialValues.put(col_Provence_prefecture );
return db.insert(MENAGE,null, initialValues);
}

最佳答案

将以下代码放在您的 ListView 项目点击监听器中

TextView v1 = (TextView)arg1.findViewById(android.R.id.text1);
String first = v1.getText().toString();
TextView v2 = (TextView)arg1.findViewById(android.R.id.text2);
String second = v2.getText().toString();

ContentValues cv = new ContentValues();
cv.put(DBAdapter.col_Region, first);
cv.put(DBAdapter._id, second);
myCursordapter.notifyDataSetChanged();
list.setAdapter(adapter);

DBAdapter sql_Adapter = new DBAdapter(context);
sql_Adapter.open();

db.insertest(cv);
sql_Adapter.close();

关于android - 从 ListView 插入项目和子项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21776182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com