Android 数据库创建的listview中的getText()

Android 数据库创建的listview中的getText(),android,android-sdk-tools,Android,Android Sdk Tools,我有一个由数据库填充的列表,我正在运行OnItemClick()方法。要从单击的项目中获取文本,我将调用什么 public void DisplayRecord(Cursor c) { Cursor c1 = DBAdapter.getAllRecords(); startManagingCursor(c1); String[] from = new String[] { DBAdapter.KEY_ITEM }; int[] to = new int[] {

我有一个由数据库填充的列表,我正在运行OnItemClick()方法。要从单击的项目中获取文本,我将调用什么

public void DisplayRecord(Cursor c) {
    Cursor c1 = DBAdapter.getAllRecords();
    startManagingCursor(c1);

    String[] from = new String[] { DBAdapter.KEY_ITEM };
    int[] to = new int[] { R.id.text1 };

    SimpleCursorAdapter notes = new SimpleCursorAdapter(this, R.layout.row,
            c1, from, to);
    setListAdapter(notes);
}

@Override
public void onListItemClick(ListView l, View view, int position, long id) {
    switch (position) {
    case 0:
        //method to getText()?

        break;
    }
}
LogCat:

02-03 22:34:11.174: E/AndroidRuntime(1561): FATAL EXCEPTION: main
02-03 22:34:11.174: E/AndroidRuntime(1561): java.lang.IllegalStateException: database not open
02-03 22:34:11.174: E/AndroidRuntime(1561):     at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1312)
02-03 22:34:11.174: E/AndroidRuntime(1561):     at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1271)
02-03 22:34:11.174: E/AndroidRuntime(1561):     at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1391)
02-03 22:34:11.174: E/AndroidRuntime(1561):     at com.Logik.dawn.of.ages.DBAdapter.getAllRecords(DBAdapter.java:87)
02-03 22:34:11.174: E/AndroidRuntime(1561):     at com.Logik.dawn.of.ages.Inventory.onListItemClick(Inventory.java:130)
02-03 22:34:11.174: E/AndroidRuntime(1561):     at android.app.ListActivity$2.onItemClick(ListActivity.java:342)
02-03 22:34:11.174: E/AndroidRuntime(1561):     at android.widget.AdapterView.performItemClick(AdapterView.java:284)
02-03 22:34:11.174: E/AndroidRuntime(1561):     at android.widget.ListView.performItemClick(ListView.java:3561)
02-03 22:34:11.174: E/AndroidRuntime(1561):     at android.widget.AbsListView$PerformClick.run(AbsListView.java:1831)
02-03 22:34:11.174: E/AndroidRuntime(1561):     at android.os.Handler.handleCallback(Handler.java:587)
02-03 22:34:11.174: E/AndroidRuntime(1561):     at android.os.Handler.dispatchMessage(Handler.java:92)
02-03 22:34:11.174: E/AndroidRuntime(1561):     at android.os.Looper.loop(Looper.java:143)
02-03 22:34:11.174: E/AndroidRuntime(1561):     at android.app.ActivityThread.main(ActivityThread.java:4293)
02-03 22:34:11.174: E/AndroidRuntime(1561):     at java.lang.reflect.Method.invokeNative(Native Method)
02-03 22:34:11.174: E/AndroidRuntime(1561):     at java.lang.reflect.Method.invoke(Method.java:507)
02-03 22:34:11.174: E/AndroidRuntime(1561):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
02-03 22:34:11.174: E/AndroidRuntime(1561):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
02-03 22:34:11.174: E/AndroidRuntime(1561):     at dalvik.system.NativeStart.main(Native Method)

你可以用你的数组来做类似的事情

 @Override
public void onListItemClick(ListView l, View view, int position, long id) {
   String fromtext = from[position];
}

你可以用你的数组来做类似的事情

 @Override
public void onListItemClick(ListView l, View view, int position, long id) {
   String fromtext = from[position];
}

这段代码用于将数据从数据库添加到a,b(数组列表),这里a是浮点数组列表,这里b是整数数组列表

       public void data()
         {
    mySQLiteAdapter = new SQLiteAdapter(getActivity());
    mySQLiteAdapter.openToRead();
    Cursor c = mySQLiteAdapter.queueAll("TABLE NAME",COLUMN NAME,CONDITION);

    //************************************************add date from database
      if(c.moveToFirst())
          do {

              a.add(c.getString(0));// here a is Float Arraylist, 0 represent first column
             b.add(c.getInt(1));// here b is Integer Array list, 1 represent second column

             }
          while (c.moveToNext());
         }
    public void onListItemClick(ListView l, View view, int position, long id) {
     switch (position) {
      case 0:
     //method to getText()?
       xxx.SetText(a.get(position));
    break;
}
和“variable.get(position)”,用于从数组列表获取信息

       public void data()
         {
    mySQLiteAdapter = new SQLiteAdapter(getActivity());
    mySQLiteAdapter.openToRead();
    Cursor c = mySQLiteAdapter.queueAll("TABLE NAME",COLUMN NAME,CONDITION);

    //************************************************add date from database
      if(c.moveToFirst())
          do {

              a.add(c.getString(0));// here a is Float Arraylist, 0 represent first column
             b.add(c.getInt(1));// here b is Integer Array list, 1 represent second column

             }
          while (c.moveToNext());
         }
    public void onListItemClick(ListView l, View view, int position, long id) {
     switch (position) {
      case 0:
     //method to getText()?
       xxx.SetText(a.get(position));
    break;
}

这段代码用于将数据从数据库添加到a,b(数组列表),这里a是浮点数组列表,这里b是整数数组列表

       public void data()
         {
    mySQLiteAdapter = new SQLiteAdapter(getActivity());
    mySQLiteAdapter.openToRead();
    Cursor c = mySQLiteAdapter.queueAll("TABLE NAME",COLUMN NAME,CONDITION);

    //************************************************add date from database
      if(c.moveToFirst())
          do {

              a.add(c.getString(0));// here a is Float Arraylist, 0 represent first column
             b.add(c.getInt(1));// here b is Integer Array list, 1 represent second column

             }
          while (c.moveToNext());
         }
    public void onListItemClick(ListView l, View view, int position, long id) {
     switch (position) {
      case 0:
     //method to getText()?
       xxx.SetText(a.get(position));
    break;
}
和“variable.get(position)”,用于从数组列表获取信息

       public void data()
         {
    mySQLiteAdapter = new SQLiteAdapter(getActivity());
    mySQLiteAdapter.openToRead();
    Cursor c = mySQLiteAdapter.queueAll("TABLE NAME",COLUMN NAME,CONDITION);

    //************************************************add date from database
      if(c.moveToFirst())
          do {

              a.add(c.getString(0));// here a is Float Arraylist, 0 represent first column
             b.add(c.getInt(1));// here b is Integer Array list, 1 represent second column

             }
          while (c.moveToNext());
         }
    public void onListItemClick(ListView l, View view, int position, long id) {
     switch (position) {
      case 0:
     //method to getText()?
       xxx.SetText(a.get(position));
    break;
}

我认为这是不对的。来自数组的
包含一个键名。我认为这不对。来自
数组的
包含一个键名。这会给我一系列错误,并表示数据库未打开,查询有错误,@coreywillams:i've edited。。也试试那个吧。。。我不知道这是否有用不。我用了另一种方法,但你的方法很有用。标记为正确的。谢谢这给了我一大堆错误,说数据库没有打开,查询有错误,@coreywillams:i've edited。。也试试那个吧。。。我不知道这是否有用不。我用了另一种方法,但你的方法很有用。标记为正确的。谢谢