Сгруппировать по запросу, показывая некоторые неожиданные результаты в представлении списка Android

У меня есть представление списка, в котором я показываю полученные сообщения с контактных номеров. Теперь проблема заключалась в том, что если я получил 5 сообщений от «1234567» и 3 сообщения от «56789», то мой основной просмотр списка отображал 8 сообщений, хотя я просто хочу показать 1 1 сообщение по обоим этим номерам в моем основном списке, аналогичном приложениям sms. как темы и при щелчке по элементу оставшиеся сообщения должны отображаться для этого конкретного номера. Кто-то ответил мне, чтобы я использовал групповой запрос по номеру телефона для запроса результатов по номеру телефона. Когда я получил смс, я сохранил его в таблице с именем "smss". Это мой код при получении данных из базы данных:

public ArrayList<Sms> fetchScreenedSms() {
  Sms a = new Sms();
ArrayList<Sms> smsInbox = new ArrayList<Sms>();
String query_fetchSMS = "select * from " + "smss" +  " group by " + "contactnumber" + "\"" ;
DBtableforNotSpam smsD = new DBtableforNotSpam(this);
SQLiteDatabase dbw = smsD.getWritableDatabase();
Cursor cursor = dbw.rawQuery(query_fetchSMS, null);
if (cursor != null) {
  cursor.moveToLast();
  if (cursor.getCount() > 0) {

    do {

      Sms message = new Sms();
      message.id = cursor.getInt(cursor
          .getColumnIndex("id"));
      message.messageNumber = cursor.getString(cursor
          .getColumnIndex("contactnumber"));
      message.messageSender = cursor.getString(cursor
          .getColumnIndex("contactname"));
      message.messageContent = cursor.getString(cursor
          .getColumnIndex("message"));
      message.setDate(cursor.getString(cursor
          .getColumnIndex("date")));
      smsInbox.add(message);
    } while (cursor.moveToPrevious());
  } else {
     empty.setVisibility(View.VISIBLE);
    }

это мой код для сохранения смс в базе данных:

public void screenMessagee(Context context, String msg_from, String msgSender,
    String msgBody, String msgDate) {
    DBtableforNotSpam smsdb = new DBtableforNotSpam(context);
    SQLiteDatabase dbw = smsdb.getWritableDatabase();

    String query_insertSMS = "insert into " + "smss" + "(" + "contactnumber" + "," + "contactname" + "," + "message"
        + "," + "date" + ") values (\"" + msg_from.toString() + "\", \"" + msgSender + "\",\"" + msgBody
        + "\",\"" + msgDate + "\")";

    dbw.execSQL(query_insertSMS);
    smsdb.close();
    dbw.close();
    abortBroadcast();

  }

Теперь я применил группу к запросу в методе fetchScreenSms, предложенном кем-то, но если применил это, то просмотр списка ничего не показывает, то есть это пустые данные просмотра списка:

String query_fetchSMS = "select * from " + "smss" +  " group by " + "contactnumber" + " = \"" + "\"" ;

Это кто-то предлагает, но в представлении списка ничего не отображается, и когда я применяю это, в представлении списка отображаются данные, относящиеся к этому номеру.

String query_fetchSMS = "select * from " + "smss" +  " group by " + "contactnumber" + " = \"" + "1234567" + "\"" ;

После этого запроса просмотр списка показывает мне одно сообщение с этим номером в моем главном просмотре списка и затем 5 сообщений внутри этого списка. Это именно то, что я хочу. Но почему верхний запрос не работает? Я хочу показать оба номера сообщений

Что и где происходит проблема? Не отображаются результаты при использовании простой группы по запросу, но отображаются результаты, когда я указываю число в группе по. Кто-нибудь, пожалуйста, помогите Я застрял

Ответы на вопрос(2)

Ваш ответ на вопрос