Android實(shí)現(xiàn)簡(jiǎn)單實(shí)用的搜索框
本文實(shí)例為大家分享了Android實(shí)現(xiàn)搜索框展示的具體代碼,供大家參考,具體內(nèi)容如下
展示效果

代碼區(qū)
SouActivity
public class SouActivity extends AppCompatActivity implements TextWatcher{
@BindView(R.id.app_sou)
EditText appSou;
@BindView(R.id.app_sou_list)
ListView appSouList;
@BindView(R.id.activity_sou)
RelativeLayout activitySou;
private String mUrl = "http://120.27.23.105/product/searchProducts";
private List<MySouFr.DataBean> sdata;
private MyBase myBase;
private String asou;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sou);
ButterKnife.bind(this);
sdata=new ArrayList<MySouFr.DataBean>();
appSou.addTextChangedListener(this);
appSou.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean b) {
if(b)
{
appSou.setText("");
}
}
});
}
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
//獲取輸入框的值
asou = appSou.getText().toString().trim();
OkHttp3Utils.getInstance().doGet(mUrl + "?keywords=" + asou + "&page=1", new GsonObjectCallback<MySouFr>() {
@Override
public void onUi(final MySouFr mySouFr) {
/*適配器*/
if (asou !=null&&!asou.equals("")) {
sdata = mySouFr.getData();
myBase = new MyBase();
appSouList.setAdapter(myBase);
appSouList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
Intent intent = new Intent(SouActivity.this, Sou_item_Activity.class);
intent.putExtra("url",mySouFr.getData().get(i).getDetailUrl());
startActivity(intent);
// Toast.makeText(SouActivity.this, "假裝你已經(jīng)點(diǎn)擊了哦!", Toast.LENGTH_SHORT).show();
}
});
} else if(myBase!=null) {
sdata.clear();
myBase.notifyDataSetChanged();
}
}
@Override
public void onFailed(Call call, IOException e) {
}
});
}
@Override
public void afterTextChanged(Editable editable) {
}
class MyBase extends BaseAdapter{
@Override
public int getCount() {
return sdata.size();
}
@Override
public Object getItem(int i) {
return sdata.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
Vh vh=null;
if(view==null){
view=View.inflate(SouActivity.this,R.layout.item_sou,null);
vh=new Vh();
vh.tv1=(TextView) view.findViewById(R.id.item_sou_text1);
view.setTag(vh);
}else{
vh = (Vh) view.getTag();
}
Log.d("main",sdata.get(i).getTitle());
vh.tv1.setText(sdata.get(i).getTitle());
return view;
}
}
class Vh{
TextView tv1;
}
}
activity_sou
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_sou"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="sizu.nsg.SouActivity">
<EditText
android:id="@+id/app_sou"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Searching..."
/>
<ListView
android:id="@+id/app_sou_list"
android:layout_below="@id/app_sou"
android:layout_width="match_parent"
android:layout_height="match_parent">
</ListView>
</RelativeLayout>
item_sou
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/item_sou_text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="123"
/>
</RelativeLayout>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android SearchView搜索框組件的使用方法
- Android搜索框通用版
- Android搜索框組件SearchView的基本使用方法
- Android 根據(jù)EditText搜索框ListView動(dòng)態(tài)顯示數(shù)據(jù)
- android搜索框上下滑動(dòng)變色效果
- Android EditText搜索框?qū)崿F(xiàn)圖標(biāo)居中
- Android的搜索框架實(shí)例詳解
- Android中如何實(shí)現(xiàn)清空搜索框的文字
- Android搜索框SearchView屬性和用法詳解
- Android搜索框(SearchView)的功能和用法詳解
相關(guān)文章
Android編程添加快捷方式(Short)到手機(jī)桌面的方法(含添加,刪除及查詢)
這篇文章主要介紹了Android編程添加快捷方式(Short)到手機(jī)桌面的方法,含有針對(duì)桌面快捷方式的添加,刪除及查詢的操作實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-01-01
Android下2d物理引擎Box2d用法簡(jiǎn)單實(shí)例
這篇文章主要介紹了Android下2d物理引擎Box2d用法,實(shí)例分析了在Android平臺(tái)上使用Box2d的基本技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
Android仿UC底部菜單欄實(shí)現(xiàn)原理與代碼
最近剛看完ViewPager,開始我打算用自定義的imgBtn,但是發(fā)現(xiàn)放在pager選項(xiàng)卡中不好排版,所以最好選了GridView,接下來(lái)介紹底部菜單欄實(shí)現(xiàn)2013-01-01
Android代碼實(shí)現(xiàn)圖片和文字上下布局
在Android開發(fā)中經(jīng)常會(huì)需要用到帶文字和圖片的button,下面來(lái)給大家介紹使用radiobutton實(shí)現(xiàn)圖片和文字上下布局或左右布局。感興趣的朋友一起學(xué)習(xí)吧2015-11-11
rxjava+retrofit實(shí)現(xiàn)多圖上傳實(shí)例代碼
本篇文章主要介紹了rxjava+retrofit實(shí)現(xiàn)多圖上傳實(shí)例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06
Flutter?LinearProgressIndicator使用指南分析
這篇文章主要為大家介紹了Flutter?LinearProgressIndicator使用指南分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03
Android應(yīng)用的Material設(shè)計(jì)的布局兼容性的一些要點(diǎn)總結(jié)
這篇文章主要介紹了Android應(yīng)用的Material設(shè)計(jì)的布局兼容性的一些要點(diǎn)總結(jié),文中還給了一個(gè)RecyclerView布局管理的例子,需要的朋友可以參考下2016-04-04
Android輸入框?qū)崟r(shí)模糊搜索效果的示例代碼
這篇文章主要介紹了Android輸入框?qū)崟r(shí)模糊搜索效果的示例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-08-08

