2017-01-18 10 views
0

私はレルムデータベースで作業しています。私はいくつかのデータをデータベースに保存しています。いいえ、name,age,address,phone numberと言ってください。レルムデータベース内のある範囲から別の範囲にデータを検索する方法

私はリストビューを使用してUIのデータを表示しています。 私の質問は、(アルファベット順ではなく)順番に並べ替える方法ではない名前を保存している場合です。

そして、もう一つの質問は、私がリストビューに表示ほんの数名にしたい名前をソートした後である(例えば、私はCからHまでのように範囲を入力した場合)Cは= Cも同様にH. で始まる名前を表しことができます誰でもしてくださいこれで私を助けてください。 lessThanと演算子:GreaterThanまたは間()

final RealmResults<Dog> puppies = realm.where(Dog.class).greaterThan("age", 2).lessThan("age", 10).findAll(); 

は、私の知る限りでは、これはまた、文字列で動作し、演算子:GreaterThan( "名前"、 "C")ので、もし:あなたが使用

+1

[https://realm.io/docs/java/latest/](https://realm.io/docs/java/latest/)にチェックしたことがありますか? – Blackkara

答えて

1

https://realm.io/docs/java/latest/api/io/realm/RealmQuery.html#lessThan-java.lang.String-java.util.Date-

ソートの際には、レルムに追加する前にarroylistでCollections.sort()を使用できますが、ソートしてDBに追加しても効果はありません。 RealmResultsをクエリするときに取得するデータは、作成したクエリに基づいています。クエリがソートするために

、次のことができた:

RealmResults<Dog>results = realm.where(Dog.class).findAllSorted("name"); 
+0

私はそれを検索ビューで使いたいです。私が投稿したこのデータに対して2つの検索ビューを使用できますか?もしそうなら、それをどうすればいいのか教えてください –

+0

2つの編集テキストを作成し、それらを範囲の入力として使用することができます。また、両方のテキストの編集が完了した場合にのみ、結果を照会します。 その後、試してみてください: realm.where(Dog.class).greaterThan( "name"、editText1.getText()。toString())lessThan( "name"、editText2.getText()。toString()) .findAll(); –

+0

検索ビューでは使いやすいですが、2つの編集ボックスでは使いにくいです。誰も上記のようにリストビューでデータの範囲を表示する2つのテキストボックスの検索の例を置くことができます。してください –

2

、ソートされた順序でデータを取得する第二の質問については、この

RealmResults<DataModel>resultsd = 
       realm.where(DataModel.class) 
         .findAllSorted("name"); 

のように使用し、この

RealmResults<DataModel>resultsd = 
       realm.where(DataModel.class) 
         .contains("name","c").or().contains("name","h").findAll(); 
のように使用するには
+0

はグループを必要としませんか? –

+0

私は文字列として日付を使用しているので、私が入力した日付だけが表示されます。だから私はその編集ボックスで日付を使用する場合は、ソリューションが欲しい。私は範囲から編集ボックスに入力した範囲に日付を取得したい –

関連する問題