如何使用远程Json在ListView中搜索工具栏

时间:2017-07-20 13:23:28

标签: android mysql json listview search

我需要实现这一点: 1-在工具栏中搜索。 2-隐藏" id_pers"在列表视图中 3-当我点击项目时," id_pers"得到其他活动:

我的代码显示远程mysql数据库中的列表,但搜索不起作用。 我的活动:

public class SearchPersonaleActivity extends AppCompatActivity implements LoadJSONTask.Listener, AdapterView.OnItemClickListener {

    private ListView mListView;

    // Search EditText
    EditText inputSearch;
    ArrayAdapter<String> adapter;

    public static final String URL = "http://page.com/createjson.php";

    private List<HashMap<String, String>> mAndroidMapList = new ArrayList<>();

    private static final String KEY_IDP = "id_pers";
    private static final String KEY_NAME = "surname_name";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_search_personale);

        mListView = (ListView) findViewById(R.id.list_view);
        mListView.setOnItemClickListener(this);
        new LoadJSONTask(this).execute(URL);

        //search
        inputSearch.addTextChangedListener(new TextWatcher() {

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

            @Override
            public void beforeTextChanged(CharSequence arg0, int arg1,
                                          int arg2, int arg3) {
                // TODO Auto-generated method stub
            }

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

    @Override
    public void onLoaded(List<AndroidVersion> androidList) {

        for (AndroidVersion android : androidList) {

            HashMap<String, String> map = new HashMap<>();

            map.put(KEY_IDP, android.getId());
            map.put(KEY_NAME, android.getPersonale());

            mAndroidMapList.add(map);
        }

        loadListView();
    }

    @Override
    public void onError() {

        Toast.makeText(this, "Error !", Toast.LENGTH_SHORT).show();
    }


    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

        //Toast.makeText(this, mAndroidMapList.get(i).get(KEY_NAME),Toast.LENGTH_LONG).show();
    }

    private void loadListView() {

        ListAdapter adapter = new SimpleAdapter(SearchPersonaleActivity.this, mAndroidMapList, R.layout.list_item,
                new String[] { KEY_IDP,KEY_NAME },
                new int[] { R.id.version,R.id.name,});

        mListView.setAdapter(adapter);

    }

}

0 个答案:

没有答案