簡體   English   中英

對從實時數據庫中檢索到的數據按行和列進行排序並實現搜索視圖,以便可以搜索每一行

[英]Sorting retrieved data from realtime database in row and columns and implement search view so every row can be searched

我得到的 output

this my Excel class

public class Excel {
        public int Age;
        public String Country;
        public String Date;
        public String First_Name;
        public String Gender;
        public int Id;
        public String Last_Name;
        public String status;

        public Excel() {
        }

        @PropertyName("Age")
        public int getAge() {

            return Age;
        }

        @PropertyName("Country")
        public String getCountry() {

            return Country;
        }

        @PropertyName("Date")
        public String getDate() {

            return Date;
        }

        @PropertyName("First_Name")
        public String getFirst_Name() {

            return First_Name;
        }

        @PropertyName("Gender")
        public String getGender() {

            return Gender;
        }

        @PropertyName("Id")
        public int getId() {

            return Id;
        }


        @PropertyName("Last_Name")
        public String getLast_Name() {
            return Last_Name;
        }


        @PropertyName("status")
        public String getStatus() {
            return status;
        }

        @Override
        public String toString() {
            return "Excel{" +
                    "Age=" + Age +  "" + ", Country='" + Country + '\'' +
                    ", Date='" + Date + '\'' +
                    ", First_Name='" + First_Name + '\'' +
                    ", Gender='" + Gender + '\'' +
                    ", Id=" + Id +
                    ", Last_Name='" + Last_Name + '\'' +
                    ", status='" + status + '\'' +
                    '}';
        }
    }


this my Main Activity class

class MainActivity : AppCompatActivity() {
    private var coursesLV: ListView? = null
    lateinit var coursesArrayList: ArrayList<Excel>
    lateinit var reference: DatabaseReference
   lateinit var Img_set:ImageView
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        Img_set = findViewById(R.id.Img_set)
        Img_set.setOnClickListener {
            intent= Intent(this,Admin_Info::class.java)
            startActivity(intent)
        }
        coursesLV = findViewById(R.id.idLVCourses)
        coursesArrayList = ArrayList()
        getdata()
    }

    private fun getdata() {
        val adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, coursesArrayList)
        reference = FirebaseDatabase.getInstance().getReference("Excel")
        reference.addChildEventListener(object : ChildEventListener {
            override fun onChildAdded(snapshot: DataSnapshot, previousChildName: String?) {
                for (ignored in snapshot.children) {
                    val currentUser = snapshot.getValue(Excel::class.java)!!
                    coursesArrayList.add(currentUser)
                    adapter.notifyDataSetChanged()
                }
            }

            override fun onChildChanged(snapshot: DataSnapshot, previousChildName: String?) {
                adapter.notifyDataSetChanged()
            }

            override fun onChildRemoved(snapshot: DataSnapshot) {

            }

            override fun onChildMoved(snapshot: DataSnapshot, previousChildName: String?) {}
            override fun onCancelled(error: DatabaseError) {}
        })
        coursesLV!!.adapter = adapter
    }
    }


this is my database structure as json file

{
  "Excel": [
    {
      "Age": 32,
      "Country": "United States",
      "Date": "15/10/2017",
      "First_Name": "Dulce",
      "Gender": "Female",
      "Id": 1562,
      "Last_Name": "Abril",
      "status": "open "
    },
    {
      "Age": 25,
      "Country": "Great Britain",
      "Date": "16/08/2016",
      "First_Name": "Mara",
      "Gender": "Female",
      "Id": 1582,
      "Last_Name": "Hashimoto",
      "status": "close"
    },
    {
      "Age": 36,
      "Country": "France",
      "Date": "21/05/2015",
      "First_Name": "Philip",
      "Gender": "Male",
      "Id": 2587,
      "Last_Name": "Gent",
      "status": "open "
    },
    {
      "Age": 25,
      "Country": "United States",
      "Date": "15/10/2017",
      "First_Name": "Kathleen",
      "Gender": "Female",
      "Id": 3549,
      "Last_Name": "Hanner",
      "status": "close"
    },
    {
      "Age": 58,
      "Country": "United States",
      "Date": "16/08/2016",
      "First_Name": "Nereida",
      "Gender": "Female",
      "Id": 2468,
      "Last_Name": "Magwood",
      "status": "open "
    },
    {
      "Age": 24,
      "Country": "United States",
      "Date": "21/05/2015",
      "First_Name": "Gaston",
      "Gender": "Male",
      "Id": 2554,
      "Last_Name": "Brumm",
      "status": "close"
    },
    {
      "Age": 56,
      "Country": "Great Britain",
      "Date": "15/10/2017",
      "First_Name": "Etta",
      "Gender": "Female",
      "Id": 3598,
      "Last_Name": "Hurn",
      "status": "open "
    },
    {
      "Age": 27,
      "Country": "United States",
      "Date": "16/08/2016",
      "First_Name": "Earlean",
      "Gender": "Female",
      "Id": 2456,
      "Last_Name": "Melgar",
      "status": "open "
    },
    {
      "Age": 40,
      "Country": "United States",
      "Date": "21/05/2015",
      "First_Name": "Vincenza",
      "Gender": "Female",
      "Id": 6548,
      "Last_Name": "Weiland",
      "status": "open "
    }
  ]
}

我從實時數據庫中檢索了數據,它來自 json 但我想按行和列對其進行排序,你能幫我將這些數據排序為我在年齡行和列中得到年齡的方式等等,我想實現搜索視圖這樣我就可以按行和列搜索數據,例如 excel 表,這可能嗎?

當您使用 ChildEventListener 時,無需遍歷子項。 你應該簡單地使用:

override fun onChildAdded(snapshot: DataSnapshot, previousChildName: String?) {
    val currentUser = snapshot.getValue(Excel::class.java)!!
    coursesArrayList.add(currentUser)
    adapter.notifyDataSetChanged()
}

除此之外,不要忘記處理錯誤:

override fun onCancelled(error: DatabaseError) {
    error.message?.let {
        Log.d("TAG", it)
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM