我尝试获取一些数据库值并将其显示在列表视图中。
这是我的代码:
public class SearchCustomer extends Activity{
private DBCreater dbHelper;
private SimpleCursorAdapter dataAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.search_customer);
dbHelper = new DBCreater(this);
dbHelper.open();
displayListView();
}
private void displayListView(){
Cursor cursor = dbHelper.fetchallcustomerdata();
String[] columns = new String[] {
DBCreater.Key_customer_Name,
DBCreater.Key_customer_Shop,
DBCreater.Key_customer_Location,
DBCreater.Key_customer_Phon,
DBCreater.Key_customer_Email,
DBCreater.Key_customer_Address
};
int[] to = new int[]{
R.id.tv_I_name_demo,
R.id.tv_I_shop_demo,
R.id.tv_I_location_demo,
R.id.tv_I_phone_demo,
R.id.tv_I_email_demo,
R.id.tv_I_address_demo
};
final ListView listView = (ListView)findViewById(R.id.lv_I_listofcustomer_searchCustomer);
dataAdapter = new SimpleCursorAdapter(this, R.layout.demosearch, cursor, columns, to,0);
listView.setAdapter(dataAdapter);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> lidstView, View view, int position,
long id) {
// TODO Auto-generated method stub
Cursor cursor =(Cursor)listView.getItemAtPosition(position);
//Toast.makeText(cursor.getColumnIndexOrThrow(""), text, duration)
String name=cursor.getString(cursor.getColumnIndexOrThrow("customer_name"));
Toast.makeText(getApplicationContext(), name, Toast.LENGTH_SHORT).show();
}
});
EditText myFilter = (EditText)findViewById(R.id.et_I_filter_searchCustomer);
myFilter.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
dataAdapter.getFilter().filter(s.toString());
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
dataAdapter.setFilterQueryProvider(new FilterQueryProvider() {
@Override
public Cursor runQuery(CharSequence constraint) {
// TODO Auto-generated method stub
return dbHelper.fetchcustomerbyname(constraint.toString());
}
});
}
}
我得到的RuntimeException IllegalArgumentException
这是错误:
03-11 20:11:24.650:E / AndroidRuntime(887):java.lang.RuntimeException:
无法启动活动
ComponentInfo {com.NIRR.redistributionsystem /
com.NIRR.redistributionsystem.SearchCustomer}:
java.lang.IllegalArgumentException:列’_id’不存在
这是我的数据库查询:
public Cursor fetchallcustomerdata() {
/*Cursor mCursor=ourDatabase.query(DATABASE_TABLE_CUSTOMER,new String[]{
Key_customer_Name,Key_customer_Shop,Key_customer_Location,Key_customer_Phon,
Key_customer_Email,Key_customer_Address},null,null,null,null,null,null);*/
String selectQuery = "select customer_name,customer_shop,customer_location,customer_phon,customer_email,customer_address from Customer" ;
SQLiteDatabase db = ourHelper.getReadableDatabase();
Cursor mCursor = db.rawQuery(selectQuery, null);
if(mCursor != null){
mCursor.moveToFirst();
}
return mCursor;
}
我使用的sql查询在SQLite db浏览器上运行时会给我正确的查询。我不知道这是什么意思column '_id'
,因为“不退出”这一行来了
dataAdapter = new SimpleCursorAdapter(this, R.layout.demosearch, cursor, columns, to,0);
请帮我谢谢。
按照文档的CursorAdapter
,它的SimpleCursorAdapter
一个子类:
游标必须包含一个名为“ _id”的列,否则此类将无法工作。
如果您的表已经有一个名为“ _id”的列,则只需将该列包括在查询的投影中(所请求的列)。
String selectQuery = "select _id, customer_name, ... from Customer";
如果您的表中没有“ _id”列,则可以对所有SQLite表默认具有的“行”进行别名(除非明确创建了没有行的列)。
String selectQuery = "select rowid as _id, customer_name, ... from Customer";
即使您不使用原始SQL,也可以执行相同的操作。例如,在query()
通话中:
mCursor = db.query("Customer", new String[] {"rowid as _id", "customer_name", ...}, ...);
如果等效于“ _id”,则当然可以为另一列添加别名。不过请注意,Cursor
如果您要手动从中检索值,则必须将别名(即“ _id”)与一起使用。
我是拉威尔的新手,所以你可能不得不忍受我,但我似乎有个小问题。现在,首先,我创建了一个基本模板,并使用phpMyAdmin和Wamp成功地运行了它,它运行得很好。我还得到了一个老项目,我被要求看一看,但由于某种原因,我无法让它运行。 这就是我正在使用的过程: 1:打开cmd更改到正确的目录 2:安装编写器 3:将目录更改为项目目录 4:运行 错误: PHP警告:需要(C:\wamp64\www\p
我是的新手,遇到以下错误。 运行以下代码时会出现此错误(可在GitHub中获得:https://github.com/ddraj/hbase-trunk-mttr/blob/master/hbase-examples/src/main/java/org/apache/hadoop/hbase/mapreduce/sampleuploader.java) 我正在使用CDH5.2.6 我可以像这样获得
我得到了这个错误: 我在pom中添加了这些依赖项。xml。我已经检查了stackflow的类似实现,并进行了干净的安装。我的项目正在生成文件,但运行测试时出现错误。我正在试着穿越日食。 我使用PowerMockRunner运行java类,并使用annotation InjectMock注入测试类。然后使用MockStatic方法模拟静态类。此外,我还添加了PrepareForTest注释,并添加了
我正在尝试启动一台流浪机器(使用ansible),当它执行“composer安装”任务时,它会抛出一个错误。我搜索了这个问题,并尝试了多种无效的解决方案(解释如下)。 我相信这与流浪用户没有权限写入app/cache和app/log有关,即使我更改了VM和local上的权限。我不知道该怎么解决。 错误: 失败:[默认](项=编写器安装)= Composer.json文件: > 我也能够'rm-rf
我有一个fxml文件已经注册了控制器。Controller实现EventHandler和方法句柄(ActionEvente)。如果发生注册事件,处理程序方法中的代码将被处理,但不总是这样。但是打印了以下异常跟踪。我错过了什么吗?
所以,我在ubuntu中使用minikube v1.19.0,在kubernetes中使用nginx ingress。我有两个节点文件:auth和client,分别制作了docker图像 我得到了4个kubernetes-cinfig文件,如下所示: auth-deply.yaml: auth-moongo-depl.yaml: 客户-depl.yaml: ingress-srv.yaml: sk