如何在android中自动完成textview和在android中搜索数据加载项listview?

如何在android中自动完成textview和在android中搜索数据加载项listview?,android,listview,autocompletetextview,Android,Listview,Autocompletetextview,我正在开发autocomplete textview,并使用了Web服务中的搜索。但我的问题是autocomplete textview设置listview,但我看不到listview更新。如何可能。我下面的代码>请帮助我 public class AddUserListActivity extends Activity{ // private SimpleSectionAdapter<String> sectionAdapter; ListView listUser;

我正在开发autocomplete textview,并使用了Web服务中的搜索。但我的问题是autocomplete textview设置listview,但我看不到listview更新。如何可能。我下面的代码>请帮助我

public class AddUserListActivity extends Activity{

//  private SimpleSectionAdapter<String> sectionAdapter;
    ListView listUser;
    private List<String> lastName = new ArrayList<String>();
    DtoUserDetail mApplication;
    ArrayList<DtoUserList> ListArray;
    private UserListAdapter objAdapter; 
    Button AddFriends;
    DbServices Dbs = new DbServices();
    Button btnBackAddUser;
    Button btnAddFriends;
    Button btnBackToMain;
    RelativeLayout searchBar;
    Button btnSearchSend;
    AutoCompleteTextView editSearchText;
    ArrayList<DtoSearchUser> searchUserList;
    boolean searchStatus = false;
    List<String> searchUserNameList;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
         setContentView(R.layout.add_user_list);

        listUser = (ListView)findViewById(R.id.listView);
        mApplication = (DtoUserDetail)AddUserListActivity.this.getApplicationContext();
        btnBackToMain = (Button)findViewById(R.id.btnBackFromAddFriends);
        searchBar = (RelativeLayout)findViewById(R.id.searchbar);
        btnSearchSend = (Button)findViewById(R.id.btnSearchSend);
        editSearchText =(AutoCompleteTextView)findViewById(R.id.editSearchText);

      // objAdapter.notifyDataSetChanged();

        btnSearchSend.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                searchUserList = new ArrayList<DtoSearchUser>();        
                searchUserNameList = new ArrayList<String>();

                Log.v("adduserlist", "searchtext:" + editSearchText.getText().toString());

                searchUserList = new DbServices().SendSearchText(editSearchText.getText().toString(),mApplication.getUserid()+"");


                for(int i=0;i<searchUserList.size();i++)
                {
                    searchUserNameList.add(searchUserList.get(i).getUsers());
                }

                    Log.v("log", " search list userName  " + searchUserNameList);

                 ArrayAdapter<String> adapter = new ArrayAdapter<String>(AddUserListActivity.this, android.R.layout.simple_dropdown_item_1line, searchUserNameList);
                 editSearchText.setAdapter(adapter);

            }
        });

       editSearchText.setOnItemClickListener(new OnItemClickListener() {

           @Override
            public void onItemClick(AdapterView<?> arg0, View arg1, int pos,
                    long arg3) {
                // TODO Auto-generated method stub

                    Log.v("log"," position in autocomplete " + pos);
                    String toUserId = searchUserList.get(pos).getUserid()+"";
                    Log.v("log"," autocomplete USERID " + searchUserList.get(pos).getUserid() + " " + searchUserList.get(pos).getLast_name());

                    String status= Dbs.addFriends(mApplication.getUserid()+"",toUserId);
                    Toast.makeText(AddUserListActivity.this, "ToUserId :  " +toUserId + " status"+  status , Toast.LENGTH_LONG).show();

                }      
           });

       btnAddFriends=(Button)findViewById(R.id.btnAddFriends);
       btnAddFriends.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
            if(searchStatus==false)
            {
              searchBar.setVisibility(View.VISIBLE);
              searchStatus = true;
            }
            else
            {
                searchBar.setVisibility(View.GONE);
                searchStatus = false;
            }
            }
        });

      btnBackToMain.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            AddUserListActivity.this.finish();

        }
     });


         if (isNetworkAvailable()) {
            new MyTask().execute();
        } else {
            showToast("No Netwrok Connection!!!");
            //this.finish();
        }

    }       
        class MyTask extends AsyncTask<Void, Void, Void> {

            ProgressDialog pDialog;

            @Override
            protected void onPreExecute() {
                pDialog = new ProgressDialog(AddUserListActivity.this);
                pDialog.setMessage("Loading...");
                pDialog.show();
                super.onPreExecute();
            }

            @Override
            protected Void doInBackground(Void... params) {
            //  ListArray = new DbServices().GetUserList(""+mApplication.getUserid());
                ListArray = new DbServices().GetFriendsList(""+mApplication.getUserid());
                return null;
            }

            @Override
            protected void onPostExecute(Void result) {
                if (null != pDialog && pDialog.isShowing()) {
                    pDialog.dismiss();
                }

                if (null == ListArray || ListArray.size() == 0) {
                    showToast("No data found from web!!!");
                //  AddUserListActivity.this.finish();
                } else {
                    setAdapterToListview();
                }

                super.onPostExecute(result);
            }
        }

   // setAdapter 
        public void setAdapterToListview() {

            for(int i=0;i<ListArray.size();i++)
            {
                lastName.add(ListArray.get(i).getLast_name());
            }

            for(int j=0;j<SortingArraylist(ListArray).size();j++)
            {

            }




            objAdapter = new UserListAdapter(AddUserListActivity.this,SortingArraylist(ListArray));

            listUser.setAdapter(objAdapter);



            listUser.setOnItemClickListener(new OnItemClickListener() {

                @Override
                public void onItemClick(AdapterView<?> parent, View arg1,
                        int position, long id) {


                    Log.v("log"," position of item " + position  + " item first name " + ListArray.get(position).getFirst_name()); 

                    Intent i_options = new Intent(AddUserListActivity.this,friendsHoldActivity.class);
                    i_options.putExtra("pos", ListArray.get(position).getUserid());
                    //startActivity(i_options);
                    startActivity(i_options);

                }
            });
    }   

         class ListSectionizer implements Sectionizer<String> {

            @Override
            public String getSectionTitleForItem(String itemName) {
                return itemName.toUpperCase().substring(0, 1);
            }
        }

        public static Comparator<String> StringComparator = new Comparator<String>() {
            public int compare(String app1, String app2) {

                String stringName1 = app1;
                String stringName2 = app2;

                return stringName1.compareToIgnoreCase(stringName2);
            }
        };

        private List<String> Sorting(List<String> Names) { 
            Collections.sort(Names, StringComparator);
            return Names;
        }

        public static Comparator<DtoUserList> StringArrayComparator = new Comparator<DtoUserList>() {

            public int compare(DtoUserList app1, DtoUserList app2) {

                DtoUserList stringName1 = app1;
                DtoUserList stringName2 = app2;

                return stringName1.getLast_name().compareToIgnoreCase(stringName2.getLast_name());
            }
        };

       private ArrayList<DtoUserList> SortingArraylist(ArrayList<DtoUserList> userDetail){
                  Collections.sort(userDetail ,StringArrayComparator);

           return userDetail;
       }

   // check internet connection 
    public boolean isNetworkAvailable() {
        ConnectivityManager connectivity = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        if (connectivity == null) {
            return false;
        } else {
            NetworkInfo[] info = connectivity.getAllNetworkInfo();
            if (info != null) {
                for (int i = 0; i < info.length; i++) {
                    if (info[i].getState() == NetworkInfo.State.CONNECTED) {
                        return true;
                    }
                }
            }
        }
        return false;
    }
 // Toast is here...
    private void showToast(String msg) {
        Toast.makeText(this, msg, Toast.LENGTH_SHORT).show();
    }

 }
public类AddUserListActivity扩展活动{
//私有SimpleSectionAdapter节适配器;
ListView listUser;
private List lastName=new ArrayList();
DtoUserDetail映射应用;
ArrayList列表数组;
私有用户列表适配器objAdapter;
按钮添加好友;
DbServices Dbs=新的DbServices();
按钮btnBackAddUser;
按钮btnAddFriends;
按钮btnBackToMain;
相对搜索栏;
按钮btnSearchSend;
AutoCompleteTextView编辑搜索文本;
ArrayList searchUserList;
布尔searchStatus=false;
列表搜索用户名列表;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
//TODO自动生成的方法存根
super.onCreate(savedInstanceState);
setContentView(R.layout.add_user_list);
listUser=(ListView)findViewById(R.id.ListView);
MapApplication=(DtoUserDetail)AddUserListActivity.this.getApplicationContext();
btnBackToMain=(按钮)findViewById(R.id.btnBackFromAddFriends);
searchBar=(RelativeLayout)findViewById(R.id.searchBar);
btnSearchSend=(按钮)findViewById(R.id.btnSearchSend);
editSearchText=(AutoCompleteTextView)findViewById(R.id.editSearchText);
//notifyDataSetChanged();
btnSearchSend.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
searchUserList=新的ArrayList();
searchUserNameList=新的ArrayList();
Log.v(“adduserlist”,“searchtext:+editSearchText.getText().toString());
searchUserList=new DbServices().SendSearchText(editSearchText.getText().toString(),mApplication.getUserid()+“”);
对于(int i=0;i父级,视图arg1,
内部位置,长id){
Log.v(“Log”,“项的位置”+位置+“项名”+列表数组.get(position).getFirst_name());
Intent i_options=newintent(AddUserListActivity.this,friendsHoldActivity.class);
i_options.putExtra(“pos”,listary.get(position.getUserid());
//startActivity(i_选项);
startActivity(i_选项);
}
});
}   
类ListSectionizer实现Sectionizer{
@凌驾
公共字符串getSectionTitleForItem(字符串项名称){
返回itemName.toUpperCase()子字符串(0,1);
}
}
公共静态比较器StringComparator=新比较器(){
公共整数比较(字符串app1、字符串app2){
字符串stringName1=app1;
字符串stringName2=app2;
返回stringName1.compareToIgnoreCase(stringName2);
}
};
私有列表排序(列表名称){
Collections.sort(名称、StringComparator);
返回姓名;
}
公共静态比较器StringArrayComparator=新比较器(){
公共整数比较(DtoUserList app1、DtoUserList app2){
DtoUserList stringName1=app1;
DtoUserList stringName2=app2;
返回stringName1.getLast_name().compareToIgnoreCase(stringName2.getLast_name());
}
};
私有ArrayList排序ArrayList(ArrayList用户详细信息){
Collections.sort(userDetail、StringArrayComparator);
返回用户详细信息;
}
//检查互联网连接
公共布尔值isNetworkAvailable(){
ConnectivityManager connectivity=(ConnectivityManager)getSystemService(Context.connectivity_服务);
if(连接性==null){
返回false;
}否则{
NetworkInfo[]info=connectivity.getAllNetworkInfo();
如果(信息!=null){
对于(int i=0;i
编辑搜索文本上应用添加文本更改列表 inonTextChanged方法查看是否在数据库或arrayList或您拥有的任何内容中找到匹配的内容….

比如:arrayList.get(i).toString().toLowerCase().contains(editSearchText.getText().toString())

1.您为什么对notifyDataSetchange方法进行了注释?2.您应该在Onclick methodnotifyDataSetchange方法中调用此方法不起作用!!!是的,忘了告诉您…使用自动完成文本视图