相关疑难解决方法(0)

android - 搜索列表视图?

Android是否可以为ListView设置搜索栏,以便在触摸搜索栏时弹出键盘,当在搜索栏中输入文本时,会显示ListView中匹配的项目?

我真正需要的是带有键盘的搜索栏.

更新:

我添加了EditText字段,它会调出一个键盘,我可以输入EditText字段.我想要的是让ListView中显示的列表中项目的前几个字符与EditText窗口中输入的字符相匹配.

我试过按照ListView Filter中列出的方法尝试,但是我对ListView中已经完成了多少过滤有点困惑?

1)我是否需要创建一个单独的数组来存储与EditText中键入的文本相匹配的值?从这篇文章调用adapter.notifyDataSetChanged,看来ListView已经有一个shadow数组来执行此操作,并在adapter.notifyDataSetChanged(); 叫做.

2)我是否需要调用adapter.notifyDataSetChanged(); 在EditText窗口中键入一些文本后更新ListView?

3)我是否需要扩展ListActivity,如此所示?如果是这样,如果活动类已经从主活动扩展,我该如何扩展我的活动类?

4)我目前拥有以下内容:

ArrayAdapter<String> adapter = null;
private EditText filterText = null;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.symptom);
    ListView symptomList = (ListView) findViewById(R.id.ListView_Symptom);
    symptomList.setTextFilterEnabled(true);
    symptomList.setFastScrollEnabled(true);
    filterText = (EditText) findViewById(R.id.search_box);
    filterText.addTextChangedListener(filterTextWatcher);

    adapter = new ArrayAdapter<String>(this, R.layout.menu_item, symptomsArray);
    symptomList.setAdapter(adapter);

    private TextWatcher filterTextWatcher = new TextWatcher() {

        public void afterTextChanged(Editable s) {
        }

        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
        }

        public …
Run Code Online (Sandbox Code Playgroud)

android

19
推荐指数
1
解决办法
3万
查看次数

如何使用扩展baseadapter的自定义适配器实现getfilter()

这是我的主要活动

package com.javacodegeeks.android.lbs;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.Toast;
import lbs.promotion.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.http.NameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.AdapterView.OnItemClickListener;

public class Curve extends Activity {

    private ProgressDialog pDialog;
     JSONParser jParser = new JSONParser();
     ArrayList<HashMap<String, String>> DaftarPromotion = new ArrayList<HashMap<String, String>>(); …
Run Code Online (Sandbox Code Playgroud)

android listview

15
推荐指数
1
解决办法
3万
查看次数

标签 统计

android ×2

listview ×1