gpt4 book ai didi

Android 搜索过滤器在 gridview 中无法正常工作?

转载 作者:行者123 更新时间:2023-11-30 03:11:19 25 4
gpt4 key购买 nike

public class ExploreScreenActivity extends Activity implements OnClickListener,         OnItemClickListener,IServerResponse, TextWatcher{
private ImageButton _refreshBtn=null;
private ImageButton _searchBtn=null;
private Button _cancelBtn=null;
private EditText _searchText=null;
// private ExploreGridAdapter mAdapter=null;
private TextView _exploreTxt=null;
private LinearLayout _search_all_layout=null;
private ImageButton _allSearchBtn=null;
private ImageButton _brandsSearchBtn=null;
private ImageButton _itemsSearchBtn=null;
private ImageButton _peopleSearchBtn=null;
private SharedPreferences _sPrefs=null;
public ArrayList<Object> _itemList=null;
private ArrayList<Object>_brandlist=null;
private ArrayList<Object>_alluserlist=null;
private ArrayList<Object>_peoplelist=null;

private String type=null;;
private String searchString=null;;
private GridView _explorGridView=null;

//private GridSearchNewAdapter adapter=null;
private GridBrandadapter brandadapter=null;
private GridAllUserAdapter alladapter=null;
private GridItemAdapter itemadapter=null;
private GridUserAdapter useradapter=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_explorscreen);
_sPrefs=getSharedPreferences("myPrefs", Context.MODE_PRIVATE);
_itemList = new ArrayList<Object>();
_brandlist=new ArrayList<Object>();
_alluserlist=new ArrayList<Object>();
_peoplelist=new ArrayList<Object>();
_refreshBtn=(ImageButton)findViewById(R.id.refresh_btn);
_refreshBtn.setOnClickListener(this);
_search_all_layout=(LinearLayout)findViewById(R.id.search_all_layout);
_searchBtn=(ImageButton)findViewById(R.id.search_btn);
_searchBtn.setOnClickListener(this);
_searchText=(EditText)findViewById(R.id.search_edtTxt);
_searchText.setOnClickListener(this);
_cancelBtn=(Button)findViewById(R.id.cancel_btn);
_cancelBtn.setOnClickListener(this);
_explorGridView=(GridView)findViewById(R.id.explor_gridView);
_exploreTxt=(TextView)findViewById(R.id.explor_textView);
_allSearchBtn=(ImageButton)findViewById(R.id.all_search_btn);
_allSearchBtn.setOnClickListener(this);
_brandsSearchBtn=(ImageButton)findViewById(R.id.brands_search_btn);
_brandsSearchBtn.setOnClickListener(this);
_itemsSearchBtn=(ImageButton)findViewById(R.id.items_search_btn);
_itemsSearchBtn.setOnClickListener(this);
_peopleSearchBtn=(ImageButton)findViewById(R.id.people_search_btn);
_peopleSearchBtn.setOnClickListener(this);

type= _searchText.getText().toString();
searchString=_searchText.getText().toString();
getSearch(type,searchString);
//_explorGridView.setAdapter(mAdapter);
_explorGridView.setOnItemClickListener(this);
_searchText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
Intent intent=new Intent(ExploreScreenActivity.this, FeedSelectedActivity.class);
TabGroupActivity parentActivity = (TabGroupActivity)getParent();
parentActivity.startChildActivity("feedselected", intent);

return true;
}
return false;
}
});
_searchText.addTextChangedListener(this);
}



@Override
public void onClick(View v) {
TabGroupActivity parentActivity=(TabGroupActivity)getParent();
Intent intent=null;
switch (v.getId()) {
case R.id.refresh_btn:
break;
case R.id.search_btn:

_searchText.setText("");
intent=new Intent(this, FeedSelectedActivity.class);
parentActivity.startChildActivity("feedselect", intent);
break;
case R.id.cancel_btn:
_exploreTxt.setVisibility(View.VISIBLE);
_searchBtn.setVisibility(View.VISIBLE);
_search_all_layout.setVisibility(View.GONE);
_cancelBtn.setVisibility(View.GONE);
_searchText.setText("");
// _explorGridView.setAdapter(mAdapter);

break;
case R.id.search_edtTxt:
_exploreTxt.setVisibility(View.GONE);
_searchBtn.setVisibility(View.GONE);
_cancelBtn.setVisibility(View.VISIBLE);
_search_all_layout.setVisibility(View.VISIBLE);
break;
case R.id.all_search_btn:
_brandsSearchBtn.setBackgroundResource(R.drawable.brand_deselected);
_itemsSearchBtn.setBackgroundResource(R.drawable.items_deselected);
_peopleSearchBtn.setBackgroundResource(R.drawable.people_deselected);
_allSearchBtn.setBackgroundResource(R.drawable.all_selected);
type="all";
getSearch( type, searchString);

break;
case R.id.brands_search_btn:
_brandsSearchBtn.setBackgroundResource(R.drawable.brand_selected);
_itemsSearchBtn.setBackgroundResource(R.drawable.items_deselected);
_peopleSearchBtn.setBackgroundResource(R.drawable.people_deselected);
_allSearchBtn.setBackgroundResource(R.drawable.all_deselected);
type="brand";
getSearch(type,searchString);

break;
case R.id.items_search_btn:
_brandsSearchBtn.setBackgroundResource(R.drawable.brand_deselected);
_itemsSearchBtn.setBackgroundResource(R.drawable.items_selected);
_peopleSearchBtn.setBackgroundResource(R.drawable.people_deselected);
_allSearchBtn.setBackgroundResource(R.drawable.all_deselected);
type="item";
getSearch(type,searchString);

break;
case R.id.people_search_btn:
_brandsSearchBtn.setBackgroundResource(R.drawable.brand_deselected);
_itemsSearchBtn.setBackgroundResource(R.drawable.items_deselected);
_peopleSearchBtn.setBackgroundResource(R.drawable.people_selected);
_allSearchBtn.setBackgroundResource(R.drawable.all_deselected);
type="user";
getSearch(type,searchString);

break;
default:
break;
}
}
private void getSearch(String type,String searchString) {
if (NetworkAvailablity.checkNetworkStatus(ExploreScreenActivity.this)) {
ArrayList<NameValuePair> requestParaList = new ArrayList<NameValuePair>();
requestParaList.add(new BasicNameValuePair("type", type));
requestParaList.add(new BasicNameValuePair("searchstring",searchString));
/*requestParaList.add(new BasicNameValuePair("accesstoken",Constant.ACCESS_TOCKEN));
requestParaList.add(new BasicNameValuePair("userid",Constant.USER_ID));
*/
// CALL WEBSERVICE
WebServiceCommunicator.getInstance().registerForServerResponse((IServerResponse) ExploreScreenActivity.this);
WebServiceCommunicator.getInstance().callGetAppWebService(false,
this,
WSConstant.getUrl(WSConstant.METHOD_SEARCH),
ExploreScreenActivity.this, WSConstant.PID_SEARCH, false,
requestParaList);
}
}

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
Intent intent=new Intent(this, FeedSelectedActivity.class);
TabGroupActivity parentActivity = (TabGroupActivity)getParent();
parentActivity.startChildActivity("feedselected", intent);
//startActivity(intent);
}

private Handler _handler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.arg2) {
case WSConstant.PID_SEARCH:
getJsonResponse(msg.obj.toString(), msg.arg2);
break;

default:
break;
}
}
};
private void getJsonResponse(String response, int arg2) {
JSONObject jObject=null;
try {
jObject = new JSONObject(response);
JSONArray list = jObject.getJSONArray("posts");

for (int i = 0; i < list.length(); i++) {
JSONObject element = list.getJSONObject(i);
if ( type.equalsIgnoreCase("all")) {
AllBean bean= new AllBean();
bean.setid(element.getString("id"));
bean.setfullname(element.getString("fullname"));
bean.setusername(element.getString("username"));
bean.setprofile_photo(element.getString("profile_photo"));
bean.setprofile_type(element.getString("profile_type"));
bean.setprofile(element.getString("profile"));
_alluserlist.add(bean);
}
if (_alluserlist.size()!=0) {

alladapter=new GridAllUserAdapter(ExploreScreenActivity.this, _alluserlist);
_explorGridView.setAdapter(alladapter);
}

else if (type.equalsIgnoreCase("brand")) {
BrandBean bean= new BrandBean();
bean.setbrand_id(element.getString("brand_id"));
bean.setbrand_name(element.getString("brand_name"));
bean.setbrand_photo(element.getString("brand_photo"));

_brandlist.add(bean);
}
if (_brandlist.size()!=0) {

brandadapter=new GridBrandadapter(ExploreScreenActivity.this, _brandlist);
_explorGridView.setAdapter(brandadapter);
}

else if ( type.equalsIgnoreCase("item")) {

ItemBean bean= new ItemBean();
bean.setitem_id(element.getString("item_id"));
bean.setitem_name(element.getString("item_name"));
bean.setitem_photo(element.getString("item_photo"));

_itemList.add(bean);
}
if (_itemList.size()!=0) {
itemadapter=new GridItemAdapter(ExploreScreenActivity.this, _itemList);
_explorGridView.setAdapter(itemadapter);
}
else if (type.equalsIgnoreCase("user")) {

UserBean bean= new UserBean();
bean.setid(element.getString("id"));
bean.setfullname(element.getString("fullname"));
bean.setusername(element.getString("username"));
bean.setprofile_photo(element.getString("profile_photo"));

_peoplelist.add(bean);
}
if (_peoplelist.size()!=0) {

useradapter=new GridUserAdapter(ExploreScreenActivity.this, _peoplelist);
_explorGridView.setAdapter(useradapter);
}

}
}
catch (Exception e) {
// TODO: handle exception
}
}

@Override
public void serverResponse(String response, int processid) {
// TODO Auto-generated method stub
Message msg = new Message();
msg.obj = response;
msg.arg2 = processid;
_handler.sendMessage(msg);
}



@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
searchString=s.toString();

getSearch(type,searchString);
}



@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub

}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub

}

}

我正在使用 searchfilter 在 gridview 中搜索项目...,我在 serchfilter 上调用 webservice。但是当我搜索另一个值时。,我的 gridview 不清除并且新值不显示。我在做什么..,请帮助我。,谢谢...

最佳答案

// Filter Class
public void filter(String charText) {
charText = charText.toLowerCase(Locale.getDefault());
_alluserlist.clear();
if (charText.length() == 0) {
_alluserlist.addAll(_alluserlist);
} else {
for (Object bean : _alluserlist) {
if (((AllBean) bean).getusername().toLowerCase(Locale.getDefault())
.contains(charText)) {
_alluserlist.add(bean);
}
}
}
notifyDataSetChanged();

实际上我没有添加 setfilter 方法。通过在我的适配器中使用 setfilter 方法。代码将正常工作。并且还在您的 Activity 中调用 set filter。

关于Android 搜索过滤器在 gridview 中无法正常工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20931259/

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