Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 带有SQLite数据库和custmize listview的简单coursor适配器_Android_Sqlite_Listview_Simplecursoradapter - Fatal编程技术网

Android 带有SQLite数据库和custmize listview的简单coursor适配器

Android 带有SQLite数据库和custmize listview的简单coursor适配器,android,sqlite,listview,simplecursoradapter,Android,Sqlite,Listview,Simplecursoradapter,我搞不清楚实际的错误在哪里。我想使用简单的coursor适配器将SQLite数据库中的记录显示到listview中。在我的SQLite数据库中没有像_id这样的字段!但错误在于,我在下面提到: 错误: java.lang.RuntimeException:无法启动活动组件信息{com.blundell.tut/com.blundell.tut.ui.phone.update_page}:java.lang.IllegalArgumentException:列'\u id'不存在 这里提到了我的J

我搞不清楚实际的错误在哪里。我想使用简单的coursor适配器将SQLite数据库中的记录显示到listview中。在我的SQLite数据库中没有像_id这样的字段!但错误在于,我在下面提到:

错误:

java.lang.RuntimeException:无法启动活动组件信息{com.blundell.tut/com.blundell.tut.ui.phone.update_page}:java.lang.IllegalArgumentException:列'\u id'不存在

这里提到了我的Java文件

更新_page.java
公共类更新\u页面扩展活动
{
DatabaseHandler db=新的DatabaseHandler(此);
公共字符串tableName=db.TABLE\u联系人;
公共字符串databaseName=db.DATABASE\u NAME;
公共字符串task\u name=db.KEY\u task;
公共字符串dt=db.KEY\u DATETIME;
private ArrayList results=new ArrayList();
private ArrayList results2=新建ArrayList();
意图,意图;
SQLITE数据库;
ListView-myview;
光标c;
字符串o_name,o_no1;
//字符串o_id1=null;
HttpClient;
整数op_id,状态;
字符串url;
上下文ctx;
意图我的意图;
最终主要活动法案=新的主要活动();
创建时的公共void(Bundle savedInstanceState)
{
ctx=这个;
database=act.getInstance().openOrCreateDatabase(“contactsManager”,
SQLiteDatabase.CREATE_如果需要,则为null);
makeText(getApplicationContext(),“数据库已打开”,1500).show();
最后一个字符串[]columnsone={“id”,“task\u name”,“date\u time”};
字符串[]columnstwo={“任务名称”,“日期时间”};
int to[]={R.id.lbl_task,R.id.lbl_datetime};
c=database.query(“contacts”,columnsone,null,null,null,null);
status=c.getCount();
如果(状态==0)
{
AlertDialog.Builder alertDialogBuilder=新建AlertDialog.Builder(ctx);
//定名
alertDialogBuilder.setTitle(“未创建任何任务!!”);
//设置对话框消息
alertDialogBuilder
.setMessage(“单击取消退出!”)
.setCancelable(错误)
.setNegativeButton(
“癌症”,
新建DialogInterface.OnClickListener()
{
public void onClick(DialogInterface对话框,int-id){
//如果单击此按钮,只需关闭
//打开对话框,不执行任何操作
dialog.cancel();
myintent=新意图(更新页面this,MainActivity.class);
星触觉(myintent);
}
});
//创建警报对话框
AlertDialog AlertDialog=alertDialogBuilder.create();
//表现出来
alertDialog.show();
}
其他的
{
Toast.makeText(getApplicationContext(),“记录在courser中可用”,1500).show();
如果(c!=null)
{
Toast.makeText(getApplicationContext(),“in-courser”,1500.show();
SimpleCorsorAdapter适配器=新
SimpleCursorAdapter(this.ctx,R.layout.update_listview,c,columnstwo,to);
Toast.makeText(getApplicationContext(),“记录在列表中”,1500).show();
setAdapter(适配器);
}
}
更新_list.xml

更新_listview.xml
您需要一个名为_id的列。在您的代码中,将您的id列更改为_id。有关类似的帖子,请参阅。另请参阅Android文档中的“”

public class update_page extends Activity
{
    DatabaseHandler db = new DatabaseHandler(this);
    public String tableName = db.TABLE_CONTACTS;
    public String databaseName = db.DATABASE_NAME;

    public String task_name = db.KEY_TASK;
    public String dt = db.KEY_DATETIME;
    private ArrayList<String> results = new ArrayList<String>();
    private ArrayList<String> results2 = new ArrayList<String>();

    Intent op_intent;
    SQLiteDatabase database;
    ListView myview;
    Cursor c;
    String o_name,o_no1;
    //String o_id1 = null;
    HttpClient client;
    Integer op_id,status;
    String url;
    Context ctx;
    Intent myintent;

    final MainActivity act = new MainActivity();

    public void onCreate(Bundle savedInstanceState)
    {
        ctx = this;
        database = act.getInstance().openOrCreateDatabase("contactsManager",
        SQLiteDatabase.CREATE_IF_NECESSARY, null);
        Toast.makeText(getApplicationContext(), "Database is open", 1500).show();
        final String[] columnsone = {"id", "task_name", "date_time"};
        String[] columnstwo = {"task_name", "date_time"};
        int to[] = {R.id.lbl_task,R.id.lbl_datetime};
        c = database.query("contacts", columnsone, null, null, null, null, null);
        status = c.getCount();

        if (status == 0)
        {
            AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(ctx);

            // Set title
            alertDialogBuilder.setTitle("No task are created !!");

            // Set dialog message
            alertDialogBuilder
                .setMessage("Click cancle to exit!")
                .setCancelable(false)
                .setNegativeButton(
                    "Cancle",
                    new DialogInterface.OnClickListener()
                    {
                        public void onClick(DialogInterface dialog, int id) {
                            // If this button is clicked, just close
                            // the dialog box and do nothing
                            dialog.cancel();
                            myintent = new Intent(update_page.this,MainActivity.class);
                            startActivity(myintent);
                        }
                    });

            // Create alert dialog
            AlertDialog alertDialog = alertDialogBuilder.create();

            // Show it
            alertDialog.show();
        }
        else
        {
            Toast.makeText(getApplicationContext(), "records are available in courser", 1500).show();

            if (c != null)
            {
                Toast.makeText(getApplicationContext(), "in courser", 1500).show();
                SimpleCursorAdapter adapter = new
                        SimpleCursorAdapter(this.ctx,R.layout.update_listview, c, columnstwo, to);
                Toast.makeText(getApplicationContext(), "records are in list", 1500).show();

                myview.setAdapter(adapter);
            }
        }
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
>

    <!-- <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#404040"
        android:fillViewport="true" > -->

    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.68"
        android:divider="#000000"
        android:dividerHeight="2dp"
        android:background="#404040">
    </ListView>

    <!-- </ScrollView> -->

</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/lbl_task"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:text="Medium Text"
        android:textColor="#1E90FF"
        android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
        android:id="@+id/lbl_datetime"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="3dp"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="10dp"
        android:text="Medium Text"
        android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>