如何从数据库中获取所有结果并使用正确的textview进行设置

时间:2018-09-30 07:21:24

标签: android listview android-database

请大家我有一个自定义的列表视图,它具有产品名称(Textivew),expirydateStatus(Textview)和一个删除按钮。现在一切正常,我已经能够用数据库中的数据填充列表视图。我有一个变量系统日期,并将其与数据库中的到期日期进行比较,然后将expirydateStatus文本视图设置为有效或过期。它只显示一个日期。

 boolean addData(String username,String expiryDate){
    SQLiteDatabase db = this.getWritableDatabase();
    ContentValues cv = new ContentValues();
    cv.put(COL_NAME,username);
    cv.put(EXPIRYDATE,expiryDate);

    Long results = db.insert(TABLE_NAME,null,cv);
    if(results== -1)
    {
        return false;
    }else {
        return true;
    }
}

  public  void showUsers()
{
    data = dbHelper.getAllData();
    int counter = 0;
    ///String expdate;
    //String currentDate;
   // String finDate = null;
    if(data.getCount() == 0)
    {

        Toast.makeText(getApplicationContext(),"Database is empty",Toast.LENGTH_LONG).show();
    }  else {

        list = new ArrayList<>();
        if(data.moveToFirst())
        {
           do
           {

                 //GETING USER NAME AND SENDING TO LISVIEW
                 list.add(new Persons(data.getString(1)));
                   //expdate = data.getString(2);
              //GETING USER EXPIRY DATE SENDING TO LISVIEW
              //list.add(new Persons(data.getString(2)));
               persons.setExpirydate(data.getString(2));

               //Log.i("yolo","Expiry date is "+expdate);


           }while (data.moveToNext());

           customAdapterPeople = new ListAdapterPeople(this,R.layout.row_data,list);

            listView.setAdapter(customAdapterPeople);

        }

    }
    data.close();
}

enter image description here

起初我使用日志来查看我的结果,因为您可以看到它为所有用户显示一个用户日期 请注意下面的结果,我记录结果后我在做什么错了

I / namy:用户有效日期为2018/10/5 I / namy:用户有效日期为2018/10/5 I / namy:用户有效日期为2018/10/5 I / namy:用户有效日期为2018/10/5 I / namy:用户有效日期为2018/10/5

0 个答案:

没有答案