2017-12-23 9 views
1

私はcopyFromRealmの使用についていくつかの回答とチュートリアルを読みましたが、私の理解が正しいかどうかはまだ分かりません。あなたが束縛されていないオブジェクトを持っている場合は、copyFromRealmを使用します(変更すると、レルムDBでは何も変わりません)。私の場合はSpinnerを設定するにはcopyFromRealm()を使用する必要がありますか?

私はスピナーを持っていると私はレルムから値を移入したい:私は私がそれらを変更することはありませんので、管理対象外のリストにオブジェクトをコピーする必要はありませんだと思う

Spinner mySpinner = ...; 

List<MyObjects> myObjects = RealmInstance.getInstance().getRealm().where(MyObject.class).findAll(); 
myObjects = RealmInstance.getInstance().getRealm().copyFromRealm(myObjects); // do I need this here? 

List<String> entries = new ArrayList<>(); 
for(MyObject t : myObjects) 
    entries.add(t.getName() + " (" + t.getDesc() + ")"); 

ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, entries); 

mySpinner.setAdapter(adapter); 

とにかく値を別の配列にコピーしています(entries)。

私の考えはここですか?

+0

私はまったく正しいと思います – Rainmaker

答えて

1

スピナーの場合、直接変更するつもりがない場合は、getDropDownViewをカスタマイズする限り、RealmBaseAdapterを使用できます。

@Override 
public View getDropDownView(int position, @Nullable View convertView, 
     @NonNull ViewGroup parent) { 
    ... 
} 
関連する問題