lawang code

lawang Code


Tanyakan kode disini

Menambah "Search/Filter" listview data dari JSON.

ditanyakan oleh Ahmad Rifa'i 5 tahun yang lalu

Maaf gan, mau nanya saya punya listview datanya diambil dari database mysql via JSON.

ini script-nya :

private EditText ad_nik;
private EditText ad_nama;
private EditText ad_nip;
private EditText ad_kode_jabatan;
private EditText ad_password;
private EditText editSearch;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.admin);


    ad_nik = (EditText) findViewById(R.id.editText1);
    ad_nama = (EditText) findViewById(R.id.editText2);

    editSearch = (EditText) findViewById(R.id.editSearch);


    ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
    JSONObject json = JSONSuratMasuk.getJSONfromURL("http://192.168.1.109/e_financial/smsgamu/dashboard/android/ambil_data_admin_android.php");
    try{

        JSONArray  data = json.getJSONArray("data");

        for(int i=0;i<data.length();i++){
            HashMap<String, String> map = new HashMap<String, String>();
            JSONObject jsonobj = data.getJSONObject(i);

            map.put("nik_admin", jsonobj.getString("nik"));
            map.put("nama_admin", jsonobj.getString("nama"));

            mylist.add(map);

            ListAdapter adapter = new SimpleAdapter(this, mylist , R.layout.rowadmin,
                            new String[] { "nama_admin" },
                            new int[] { R.id.lvnamaadmin});
            setListAdapter(adapter);

            final ListView lv = getListView();
            lv.setTextFilterEnabled(true);
            lv.setOnItemClickListener(new OnItemClickListener() {
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                    @SuppressWarnings("unchecked")
                    HashMap<String, String> o = (HashMap<String, String>) lv.getItemAtPosition(position);

                    ad_nik.setText(String.valueOf(o.get("nik_admin")));
                    ad_nama.setText(String.valueOf(o.get("nama_admin")));

                    }
            });

        }
    }catch(JSONException e)
    {
         Log.e("log_tag", "Error parsing data "+e.toString());
    }
}


Saya mau menambahkan search/filter data listview tersebut. (ex: jika saya ketik huruf "a", maka yang listview yang awalnya tadi menampilkan semua data yang berawal a s/d z, akan menampilkan data yang berawalan huruf a saja. Mohon pencerahannya.

Menampilkan 1-4 dari 4 hasil
handita okviyanto menjawab 5 tahun yang lalu :

Pake ini gan..

editSearch.addTextChangedListener(new TextWatcher() {

@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
    // When user changed the Text
   getListAdapter().getFilter().filter(cs);
}

@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) { }

@Override
public void afterTextChanged(Editable arg0) {}
});


Sumbernya coba baca disini nih.. kalo belum ngerti Disini


Ahmad Rifa'i menjawab 5 tahun yang lalu :

Ok, terima kasih gan, it's work. hehe.


subiyanto menjawab 4 tahun yang lalu :

Ahmad rifai..

boleh tau gmn sintaknya?


handita okviyanto menjawab 4 tahun yang lalu :

sintaksnya kan udah ada di situ gan...


Anda harus login terlebih dahulu untuk memberikan komentar

Recent Tag

X 6
X 49
X 14
X 10
X 1
X 5
X 4
X 18
X 10

Bantuan

Help

Feedback

Help