약간의 문제가 있으며 결과를 찾을 수 없습니다. 네, 저는 약간의 연구도했습니다.RealmResults 크기가 0을 반환합니다.
변수가 있습니다. mResults = RealmResults < Drop>;
내가 입력 할 때 당신이 무슨 문제가 될 수 0 을 반환 >> mResults.size < <을
아래의 그림에서 볼 수 있지만, 이것은 데이터가? btw. 나는 kotlin을 사용하여 안드로이드에서 일하고 있습니다.
문제는 Recyclerview에서 getItemCount
ActivityMain에 ::::
Realm.init(this)
val configuration = RealmConfiguration.Builder().build()
Realm.setDefaultConfiguration(configuration)
mRealm = Realm.getDefaultInstance()
val results:RealmResults<Drop> = mRealm.where(Drop::class.java).findAll()
mToolbar = findViewById<Toolbar>(R.id.toolbar)
mRecycler = findViewById<RecyclerView>(R.id.rv_drops)
val manager = LinearLayoutManager(this)
mRecycler.layoutManager = manager
mRecycler.adapter = AdapterDrops(this, results)
open class Drop : RealmObject {
private var what: String? = null
@PrimaryKey
private var added: Long? = null
private var whenT: Long? = null
private var completed: Boolean? = null
constructor(){}
constructor(what: String, added: Long, whenT: Long, completed: Boolean) : super() {
this.what = what
this.added = added
this.whenT = whenT
this.completed = completed
}
fun getWhat(): String? {
return what
}
fun setWhat(what: String) {
this.what = what
}
fun getAdded(): Long? {
return added
}
fun setAdded(added: Long) {
this.added = added
}
fun getWhenT(): Long? {
return whenT
}
fun setWhenT(whenT: Long) {
this.whenT = whenT
}
fun getCompleted(): Boolean? {
return completed
}
fun setCompleted(completed: Boolean) {
this.completed = completed
}
}
class AdapterDrops: RecyclerView.Adapter<AdapterDrops.DropHolder> {
private var mInflater:LayoutInflater
private var mResults:RealmResults<Drop>
constructor(context:Context, results: RealmResults<Drop>){
mInflater = LayoutInflater.from(context)
mResults = results
}
override fun onBindViewHolder(holder: DropHolder?, position: Int) {
val drop:Drop = mResults[position]!!
holder!!.mTextWhat.setText(drop.getWhat())
}
override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): DropHolder {
val view = mInflater.inflate(R.layout.row_drop, parent, false)
val holder = DropHolder(view)
return holder
}
override fun getItemCount(): Int {
return mResults.size <<<<< pröblem
}
class DropHolder: RecyclerView.ViewHolder {
var mTextWhat:TextView
constructor(itemView: View):super(itemView){
mTextWhat = itemView.findViewById<TextView>(R.id.tv_what)
}
}
}
고마워. 당신이 빈 생성자 드롭 클래스를 정의하십시오
var mResults:OrderedRealmCollection<Drop> = Realm.getDefaultInstance().where(Drop::class.java).findAll()
DB를에서 모든 레코드를 가져 오는대로
이 몇 가지 코드 –
좋아 I를 공유하시기 바랍니다 제거 활동에서 코드 아래에 제거하고 응용 프로그램 클래스에 붙여 넣기하세요 .. 호프 sömeöne 도울 수있다 – user3158589