gpt4 book ai didi

android - 错误名称 : The method getFilter() is undefined for the type yourActivity. ListAdapter

转载 作者:行者123 更新时间:2023-11-29 21:51:01 25 4
gpt4 key购买 nike

private ArrayList <HashMap<String, Object>> availableFriends;
public ListAdapter adapter = null;
friendsearch = (EditText)findViewById(R.id.friendsearch);
friendsearch.addTextChangedListener(new TextWatcher() {

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

在上面的行中我收到了错误,这里我想做的是在自定义 ListView 中搜索(带有图像和名称的 ListView )

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

}

public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
});

下面的代码向您展示了我如何获取列表数据以及如何显示列表数据。如果需要,请以其他方式观看它。

public List<Friend> getFriendsList(){
String accessToken = null;
DatabaseHelper helper = new DatabaseHelper(getApplicationContext());
DatabaseUtility dao = new DatabaseUtility(helper);
try {
accessToken = dao.getAccessToken();
} catch (Exception e1) {
handler.sendEmptyMessage(1);
return null;
}
if(accessToken == null || accessToken.length() == 0){
handler.sendEmptyMessage(1);
return null;
}

Map<String , String> params = new HashMap<String,String>();
params.put(Constants.ACCESS_TOKEN_PARAM, accessToken);

List<Friend> friendsList = null;
try {
friendsList = Utils.getFriendsList(params,this);
} catch (NullPointerException e) {
handler.sendEmptyMessage(12);
return null;
} catch (JSONException e) {
//handler.sendEmptyMessage(11);
return null;
}
return friendsList;
}

public void displayFriends(List<Friend> friendList){
List<Friend> friendsList = friendList;
availableFriends = new ArrayList<HashMap<String,Object>>();
HashMap<String, Object> friendData = null;
Friend friend = null;
try{
for(int i = 0 ; i < friendsList.size() ; i++){
friend = friendsList.get(i);
friendData = new HashMap<String, Object>();
friendData.put(FRIENDS_NAME_KEY, friend.getFriendName());
friendData.put(IS_IMAGE_KEY, friend.getIsImage());
friendData.put(IDKEY, friend.getFriendID());
availableFriends.add(friendData);
}

adapter = new ListAdapter(availableFriends,FriendsActivity.this);
listView.setAdapter(adapter);
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

最佳答案

ListAdapter 没有实现 Filterable界面。但是,某些适配器,例如 ArrayAdapterSimpleAdapter做。这意味着您应该考虑将适配器切换到实现接口(interface)的东西制作您自己的自定义适配器并在那里实现它。

此外,根据上面的代码,您将 adapter 设置为 null 并且没有对其进行初始化(我没有看到对 displayFriends() 的调用>。您还应该研究一下以确保您的初始化正确(当然是在选择更合适的适配器之后)。

关于android - 错误名称 : The method getFilter() is undefined for the type yourActivity. ListAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14421701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com