Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.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 如何从SQLite对android上的结果进行排序?_Java_Android_Sqlite - Fatal编程技术网

Java 如何从SQLite对android上的结果进行排序?

Java 如何从SQLite对android上的结果进行排序?,java,android,sqlite,Java,Android,Sqlite,我需要显示多个数据库表来分隔文本视图 因此,我需要从一个表中提取所有“约会”,并对它们进行排序,以便在主活动(如txtmasday、txtmasday、txtmasday)上的单独文本视图中显示 数据库设计用于存储当天以及其他详细信息: private static final String DATABASE_CREATE = "create table " + TABLE_AP + "(" + COLUMN_ID + " integer primary key autoincr

我需要显示多个数据库表来分隔文本视图

因此,我需要从一个表中提取所有“约会”,并对它们进行排序,以便在主活动(如txtmasday、txtmasday、txtmasday)上的单独文本视图中显示

数据库设计用于存储当天以及其他详细信息:

private static final String DATABASE_CREATE =
        "create table " + TABLE_AP + "(" + COLUMN_ID + " integer primary key autoincrement, "
        + COLUMN_DAY + " text not null, "
        + COLUMN_TIME + " text not null, "
        + COLUMN_DURATION + " text not null, "
        + COLUMN_DESCRIPTION + " text not null);";
以下是我试图通过MainActivity调用它的方式: (我也将使用onCreate调用它)

以及它们的XML/字符串:

<string name="RadioMon">Mon</string>
<string name="RadioTue">Tue</string>
<string name="RadioWed">Wed</string>
<string name="RadioThu">Thur</string>
<string name="RadioFri">Fri</string>
Mon
星期二
结婚
星期四
星期五

在您的数据模型中,您应该有一个类来处理约会,因此当您从数据库中检索所有约会时,只需根据约会类的创建方式,按约会[i].Day或类似方式对其进行筛选。您不需要为每个数据库显式创建不同的DB选择

  public void onResume (){
  APData = new AppointmentDataSource(this);
  APData.open();
  List<Appointment> appointments = APData.retrieveAllAppointments();
  APData.close();
  TextView tvMonday = (TextView)findViewById(R.id.tvMonday);
  TextView tvTuesday = (TextView)findViewById(R.id.tvTuesday);
  ... (all your days textViews).
  for(Iterator<Appointment> i = appointments.iterator(); i.hasNext();){ 
  Appointment item = i.next();
     if(item.Day.equals("Monday") tvMonday.append(item.ToString());
     //same for the rest of your textViews
  }
public void onResume(){
APData=新任命数据源(此);
APData.open();
列表约会=APData.retrieveAllAppoints();
APData.close();
TextView tvMonday=(TextView)findViewById(R.id.tvMonday);
text视图tvdesday=(text视图)findViewById(R.id.tvdesday);
…(您所有的日子都是文本视图)。
for(迭代器i=appoints.Iterator();i.hasNext();){
预约项目=i.下一步();
if(item.Day.equals(“星期一”)tvmanial.append(item.ToString());
//其他文本视图也是如此
}

应该是这样的。

我不明白您要排序什么?请更好地解释SQLiteDatabase查询方法的最后一个参数包含“orderBy”SQL函数的参数。这里有更多信息:啊,对不起,Tenhouse,我想按天对它们进行排序,并将时间/持续时间/描述放在正确的textview day下,但是我如何才能使用“OrderBy day”将行分隔为各个天的textview。因此,我认为唯一可以做到的方法是创建多个RetrieveAllApp Pointments,只需将其更改为“RetrieveMondayAppoints”/“RetrieveTuesdayAppoints”等,然后过滤掉所有不是周一、周二或w/eSo的日子,我必须像约会一样对其进行排序[i].day,然后从RetrieveAllAppoints方法更改TextView的文本值?因为我只能返回1个值或1个列表,并且不确定返回后如何对其排序。据我所知,您从DB返回所有约会。并且
类型约会的对象应具有属性
Appointment、 天
。是的,我是说你可以试着按约会[I]对它进行排序。天
,然后决定在布局上将每个对象发送到哪里。嘿,伙计,你能给我一些示例代码以及我需要将其放置在哪里吗?无法运行抱歉。检查更新,我发布了一段代码,希望它能帮助你。
createButton.setOnClickListener(new View.OnClickListener() {

      @Override
      public void onClick(View view) {
        findRadioGroup = (RadioGroup) findViewById(R.id.radioDay);
        int selectedId = findRadioGroup.getCheckedRadioButtonId();
        radioButton = (RadioButton) findViewById(selectedId);


        String day=radioButton.getText().toString();
        String time=txtTime.getText().toString();
        String duration=txtDuration.getText().toString();
        String description=txtDescription.getText().toString();

        APData.insert(day, time, duration, description);
        APData.close();
        finish();
      }

    });
<string name="RadioMon">Mon</string>
<string name="RadioTue">Tue</string>
<string name="RadioWed">Wed</string>
<string name="RadioThu">Thur</string>
<string name="RadioFri">Fri</string>
  public void onResume (){
  APData = new AppointmentDataSource(this);
  APData.open();
  List<Appointment> appointments = APData.retrieveAllAppointments();
  APData.close();
  TextView tvMonday = (TextView)findViewById(R.id.tvMonday);
  TextView tvTuesday = (TextView)findViewById(R.id.tvTuesday);
  ... (all your days textViews).
  for(Iterator<Appointment> i = appointments.iterator(); i.hasNext();){ 
  Appointment item = i.next();
     if(item.Day.equals("Monday") tvMonday.append(item.ToString());
     //same for the rest of your textViews
  }