Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/226.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
Java 如何在listview android中显示数据库信息?获取错误空指针异常_Java_Android_Sqlite - Fatal编程技术网

Java 如何在listview android中显示数据库信息?获取错误空指针异常

Java 如何在listview android中显示数据库信息?获取错误空指针异常,java,android,sqlite,Java,Android,Sqlite,以下是从databaseadapter类中的函数获取所有类别的代码: public List<CategoryClass> getAllCategory() { List<CategoryClass> getCategoryList = new ArrayList<CategoryClass>(); dataAdapter = dataAdapter.openToWrite(); Cursor curso

以下是从databaseadapter类中的函数获取所有类别的代码:

public List<CategoryClass> getAllCategory()
    {
        List<CategoryClass> getCategoryList = new ArrayList<CategoryClass>();
        dataAdapter = dataAdapter.openToWrite();
        Cursor cursor = db.rawQuery("SELECT * FROM " + tb_Name,null);
        if (cursor.moveToFirst()) {
            do {
                CategoryClass categoryInstance = new CategoryClass();
                categoryInstance.setCategory(cursor.getString(1));

                // Adding contact to list
                getCategoryList.add(categoryInstance);
                cursor.close();
            }
            while (cursor.moveToNext());
        }
        Log.d("retrieving all categories","count < 0");

        return getCategoryList;


    }

请发布您的logcat错误。。。我认为你们不需要foreach循环,你们可以直接把列表传递给适配器

DatabaseAdapter dataAdapterInstance;

@Override
public void onCreate(Bundle savedInstanceState)

{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.categories_list);
    ListView list = (ListView) findViewById(R.id.listView);
    dataAdapterInstance = new DatabaseAdapter(this);
    dataAdapterInstance = dataAdapterInstance.openToWrite();
    List<CategoryClass> category = dataAdapterInstance.getAllCategory();
    ArrayAdapter<CategoryClass> arrayAdapter = new ArrayAdapter<CategoryClass>(this,android.R.layout.simple_list_item_1,category);
    arrayAdapter.notifyDataSetChanged();
    list.setAdapter(arrayAdapter);}
数据库适配器dataAdapterInstance;
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.categories\u列表);
ListView列表=(ListView)findViewById(R.id.ListView);
dataAdapterInstance=新数据库适配器(此);
dataAdapterInstance=dataAdapterInstance.openToWrite();
列表类别=dataAdapterInstance.getAllCategory();
ArrayAdapter ArrayAdapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,category);
arrayAdapter.notifyDataSetChanged();
list.setAdapter(arrayAdapter);}
公共列表getAllCategory()
{
List getCategoryList=新建ArrayList();
dataAdapter=dataAdapter.openToWrite();
Cursor Cursor=db.rawQuery(“SELECT*FROM”+tb_Name,null);
如果(光标!=null){
cursor.moveToFirst();
而(!cursor.isAfterLast()){
CategoryClass categoryInstance=新的CategoryClass();
categoryInstance.setCategory(cursor.getString(1));
//将联系人添加到列表中
getCategoryList.add(categoryInstance);
cursor.moveToNext();
}
}
Log.d(“检索所有类别”,“计数<0”);
返回getCategoryList;
}

您是否从数据库中获取数据。?发布堆栈跟踪在listview中不显示任何值,甚至不在此处显示listview。如果可能,请发布logcat…或者您在何处获得空指针异常…我已将相同的代码放在按钮单击上,并已将try and catch立即放在catch块上获取此堆栈跟踪当尝试单击按钮时:在我的问题中添加了stachtrace,请在这一行看到它正在获得异常:List category=dataAdapterInstance.getAllCategory();在getAllCategory()中的return语句之前,yes已经完成了,但是我在上面发布了相同的堆栈跟踪。创建此类问题的代码中存在什么问题
06-11 20:46:09.531: W/System.err(17223): java.lang.NullPointerException
06-11 20:46:09.531: W/System.err(17223):    at com.example.todolist.DatabaseAdapter.getAllCategory(DatabaseAdapter.java:88)
06-11 20:46:09.531: W/System.err(17223):    at com.example.todolist.Categories$1.onClick(Categories.java:40)
06-11 20:46:09.531: W/System.err(17223):    at android.view.View.performClick(View.java:3558)
06-11 20:46:09.531: W/System.err(17223):    at android.view.View$PerformClick.run(View.java:14152)
06-11 20:46:09.531: W/System.err(17223):    at android.os.Handler.handleCallback(Handler.java:605)
06-11 20:46:09.531: W/System.err(17223):    at android.os.Handler.dispatchMessage(Handler.java:92)
06-11 20:46:09.531: W/System.err(17223):    at android.os.Looper.loop(Looper.java:137)
06-11 20:46:09.531: W/System.err(17223):    at android.app.ActivityThread.main(ActivityThread.java:4514)
06-11 20:46:09.531: W/System.err(17223):    at java.lang.reflect.Method.invokeNative(Native Method)
06-11 20:46:09.531: W/System.err(17223):    at java.lang.reflect.Method.invoke(Method.java:511)
06-11 20:46:09.531: W/System.err(17223):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
06-11 20:46:09.531: W/System.err(17223):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
06-11 20:46:09.531: W/System.err(17223):    at dalvik.system.NativeStart.main(Native Method)
DatabaseAdapter dataAdapterInstance;

@Override
public void onCreate(Bundle savedInstanceState)

{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.categories_list);
    ListView list = (ListView) findViewById(R.id.listView);
    dataAdapterInstance = new DatabaseAdapter(this);
    dataAdapterInstance = dataAdapterInstance.openToWrite();
    List<CategoryClass> category = dataAdapterInstance.getAllCategory();
    ArrayAdapter<CategoryClass> arrayAdapter = new ArrayAdapter<CategoryClass>(this,android.R.layout.simple_list_item_1,category);
    arrayAdapter.notifyDataSetChanged();
    list.setAdapter(arrayAdapter);}
public List<CategoryClass> getAllCategory()
{
      List<CategoryClass> getCategoryList = new ArrayList<CategoryClass>();
      dataAdapter = dataAdapter.openToWrite();
      Cursor cursor = db.rawQuery("SELECT * FROM " + tb_Name,null);
      if(cursor!=null){
             cursor.moveToFirst(); 
             while(!cursor.isAfterLast()){
                 CategoryClass categoryInstance = new CategoryClass();
                 categoryInstance.setCategory(cursor.getString(1));

            // Adding contact to list
                 getCategoryList.add(categoryInstance);

                 cursor.moveToNext();
              }
           }

       Log.d("retrieving all categories","count < 0");

       return getCategoryList;
 }