Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Android

มุมมองการค้นหาใน Android คืออะไร?


ก่อนเข้าสู่ตัวอย่าง searchview เราควรรู้ว่ามุมมองการค้นหาใน Android คืออะไร มุมมองการค้นหาก็เหมือนกับช่องค้นหาใน HTML เราสามารถค้นหาอะไรก็ได้จากรายการเฉพาะ

ตัวอย่างนี้สาธิตวิธีผสานรวมมุมมองการค้นหาใน Android

ขั้นตอนที่ 1 − สร้างโครงการใหม่ใน Android Studio ไปที่ไฟล์ ⇒ โครงการใหม่และกรอกรายละเอียดที่จำเป็นทั้งหมดเพื่อสร้างโครงการใหม่

ขั้นตอนที่ 2 − เพิ่มรหัสต่อไปนี้ใน res/layout/activity_main.xml

<รุ่นก่อนหน้า>

ในโค้ดด้านบนนี้ เราจะให้มุมมองการค้นหาและมุมมองรายการ เนื่องจากมุมมองการค้นหาจะไปที่องค์ประกอบการค้นหาจากรายการ

ขั้นตอนที่ 3 − เพิ่มรหัสต่อไปนี้ใน src/MainActivity.java

นำเข้า android.os.Bundle;นำเข้า android.support.v7.app.AppCompatActivity;นำเข้า android.view.View;นำเข้า android.widget.AdapterView;นำเข้า android.widget.ArrayAdapter;นำเข้า android.widget.ListView;นำเข้า android.widget.SearchView นำเข้า android.widget.Toast นำเข้า java.util.ArrayList คลาสสาธารณะ MainActivity ขยาย AppCompatActivity { @Override ป้องกันโมฆะ onCreate (บันเดิลที่บันทึกไว้InstanceState) { super.onCreate (savedInstanceState); setContentView(R.layout.activity_main); รายการ ListView สุดท้าย =findViewById(R.id.list); ค้นหา SearchView =findViewById (R.id.search); search.setActivated(จริง); search.setQueryHint("พิมพ์คีย์เวิร์ดของคุณที่นี่"); search.onActionViewExpanded(); search.setIconified (เท็จ); ArrayList arrayList =ใหม่ ArrayList<>(); arrayList.add("จาวา"); arrayList.add("ANDROID"); arrayList.add("ภาษาซี"); arrayList.add("ภาษา CPP"); arrayList.add("ไปภาษา"); arrayList.add("ระบบ AVN"); สุดท้าย ArrayAdapter arrayAdapter =new ArrayAdapter(นี้ android.R.layout.simple_list_item_1, arrayList); list.setAdapter (arrayAdapter); search.setOnQueryTextListener (ใหม่ SearchView.OnQueryTextListener () { @แทนที่บูลีนสาธารณะ onQueryTextSubmit (ข้อความค้นหาสตริง) { คืนค่าเท็จ } @ แทนที่บูลีนสาธารณะ onQueryTextChange (สตริงข้อความใหม่) { arrayAdapter.getFilter (). ตัวกรอง (ข้อความใหม่); คืนค่าเท็จ; } }); list.setOnItemClickListener (ใหม่ AdapterView.OnItemClickListener () { @Override public void onItemClick (AdapterView  parent, ดูมุมมอง, ตำแหน่ง int, รหัสแบบยาว) { สตริง clickedItem =(สตริง) list.getItemAtPosition (ตำแหน่ง); Toast.makeText ( MainActivity.this, clickedItem, Toast.LENGTH_LONG).show(); } }); }}

ในมุมมองการค้นหาด้านบน เราได้ให้ผู้ฟังหนึ่งรายเป็น setOnQueryTextListener มันจะฟังข้อความของคุณเปลี่ยนแปลงด้วยสองวิธีดังที่แสดงด้านล่าง

  • onQueryTextSubmit(ข้อความค้นหาสตริง) − หลังจากป้อนข้อความใน searchview แล้ว หากคุณต้องการทำอะไรกับสตริงนั้น คุณสามารถทำได้ในวิธีนี้

  • onQueryTextChange(สตริงข้อความใหม่) − หลังจากเปลี่ยนข้อความหมายความว่าในขณะที่ป้อนข้อความในมุมมองการค้นหา ระบบจะดำเนินการบางอย่าง

ในโค้ดด้านบนนี้ เรามีข้อความกรองในขณะที่คิวรีเปลี่ยนแปลงดังแสดงด้านล่าง

@Overridepublic บูลีน onQueryTextChange(String newText) { arrayAdapter.getFilter().filter(newText); คืนค่าเท็จ}

มาลองเรียกใช้แอปพลิเคชันของคุณกัน ฉันคิดว่าคุณได้เชื่อมต่ออุปกรณ์มือถือ Android จริงกับคอมพิวเตอร์ของคุณ ในการรันแอพจาก android studio ให้เปิดไฟล์กิจกรรมของโปรเจ็กต์ของคุณแล้วคลิก Run มุมมองการค้นหาใน Android คืออะไร? ไอคอนจากแถบเครื่องมือ เลือกอุปกรณ์มือถือของคุณเป็นตัวเลือก จากนั้นตรวจสอบอุปกรณ์มือถือของคุณซึ่งจะแสดงหน้าจอเริ่มต้นของคุณ

มุมมองการค้นหาใน Android คืออะไร?

ตอนนี้ป้อนข้อความที่ใกล้เคียงกับรายการมุมมองที่แสดงด้านล่าง

มุมมองการค้นหาใน Android คืออะไร?