亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

FlowLayout流式布局實現搜索清空歷史記錄

2019-10-21 21:34:16
字體:
來源:轉載
供稿:網友

本文實例為大家分享了FlowLayout實現搜索清空歷史記錄的具體代碼,供大家參考,具體內容如下

效果圖:點擊搜索框將搜索的歷史在流式布局中展示出來,清空歷史記錄就會將歷史清空,每次搜索后都存入sp中,每次進入頁面都先判斷sp里是否有值并展示

FlowLayout,流式布局,清空記錄

首先需要導入一個module,下載地址

下載完這個工程后,需要將里面的flowlayout-lib導入到工程中,

FlowLayout,流式布局,清空記錄

導入工程的步驟:File - New - Import Module 選中這個flowlayout-lib

FlowLayout,流式布局,清空記錄

導入完成后,在項目的build.gradle中對導入的module進行依賴

compile project(':flowlayout-lib') 

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:app="http://schemas.android.com/apk/res-auto"  xmlns:tools="http://schemas.android.com/tools"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:orientation="vertical"  android:padding="16dp"  tools:context="com.example.searchhistory.MainActivity">   <LinearLayout   android:layout_width="match_parent"   android:layout_height="wrap_content"   android:gravity="center_vertical"   android:orientation="horizontal">    <EditText    android:id="@+id/edt"    android:layout_width="0dp"    android:layout_height="wrap_content"    android:layout_weight="4" />    <Button    android:id="@+id/btn"    android:layout_width="0dp"    android:layout_height="wrap_content"    android:layout_weight="1"    android:text="搜索" />    <Button    android:id="@+id/clear"    android:layout_width="0dp"    android:layout_height="wrap_content"    android:layout_weight="1"    android:text="清空" />  </LinearLayout>   <ScrollView   android:layout_width="match_parent"   android:layout_height="match_parent">    <com.zhy.view.flowlayout.TagFlowLayout    android:id="@+id/id_flowlayout"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    app:max_select="-1" />  </ScrollView> </LinearLayout> 

tv.xml

<TextView xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="wrap_content"  android:layout_height="wrap_content"  android:layout_marginLeft="5dp"  android:layout_marginRight="5dp"  android:layout_marginTop="10dp"  android:background="@drawable/tag_bg"  android:text="Helloworld"  android:textColor="#999999"  android:textSize="16sp">  </TextView> 

drawable下面創建

checked_bg.xml

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android">  <solid android:color="#ffffff" />  <corners android:radius="2dp" />  <stroke   android:width="1dp"   android:color="#dddddd" />   <padding   android:bottom="5dp"   android:left="14dp"   android:right="14dp"   android:top="5dp" />  </shape> 

normal_bg.xml

<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android">  <solid android:color="#ffffff" />  <corners android:radius="2dp" />  <stroke   android:width="1dp"   android:color="#dddddd" />  <padding   android:bottom="5dp"   android:left="14dp"   android:right="14dp"   android:top="5dp" /> </shape> 

tag_bg.xml

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android">  <item android:drawable="@drawable/checked_bg" android:state_checked="true">   </item>  <item android:drawable="@drawable/normal_bg"></item> </selector> 

text_color.xml

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android">   <item android:color="#999999" android:state_checked="true" />  <item android:color="#f692ff" />  </selector> 

MainActivity

public class MainActivity extends AppCompatActivity {  private TagFlowLayout mFlowLayout;  private EditText editText;  private Button button;  private List<String> strings;  String history="";  int a=0;  List<String> historylist = new ArrayList<>();  //布局管理器  private LayoutInflater mInflater;  //流式布局的子布局  private TextView tv;  public Handler handler = new Handler() {   @Override   public void handleMessage(Message msg) {    switch (msg.what) {     case 1:      mFlowLayout.setAdapter(new TagAdapter<String>(strings) {       @Override       public View getView(FlowLayout parent, int position, String s) {        tv = (TextView) mInflater.inflate(R.layout.tv,          mFlowLayout, false);        tv.setVisibility(View.VISIBLE);        tv.setText(s);        return tv;       }      });      break;     }    super.handleMessage(msg);   }  };  private Button clearbtn;    @RequiresApi(api = Build.VERSION_CODES.M)  @Override  protected void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(R.layout.activity_main);   mInflater = LayoutInflater.from(this);   mFlowLayout = (TagFlowLayout) findViewById(R.id.id_flowlayout);   editText = (EditText) findViewById(R.id.edt);   button = (Button) findViewById(R.id.btn);   clearbtn = findViewById(R.id.clear);    final SharedPreferences preferences = getSharedPreferences("config", 0);   final SharedPreferences.Editor editor = preferences.edit();    strings = new ArrayList<>();   final String string = preferences.getString("string", " ");    String[] split = string.split(" ");   if (split.length>0&&!string.equals(" ")){    for (int i=0;i<split.length;i++){     strings.add(split[i]);    }    handler.sendEmptyMessageDelayed(1, 0);   }     clearbtn.setOnClickListener(new View.OnClickListener() {    @Override    public void onClick(View view) {     history="";     historylist.clear();     editor.clear().commit();     //清空下面的     strings.clear();     handler.sendEmptyMessageDelayed(1, 0);    }   });     button.setOnClickListener(new View.OnClickListener() {    @RequiresApi(api = Build.VERSION_CODES.M)    @Override    public void onClick(View v) {     String string = preferences.getString("string", "");      historylist.clear();      if (!editText.getText().toString().trim().equals("")) {      String aa = editText.getText().toString().trim();       Set<String> set = new ArraySet<>();      set.add(aa);      historylist.add(aa);      a++;      history+= aa+" ";      for (int i=0;i<historylist.size();i++){       editor.putString("string",history).commit();       strings.add(historylist.get(i));      }      //通知handler更新UI      handler.sendEmptyMessageDelayed(1, 0);     }else{      Toast.makeText(MainActivity.this, "請輸入要搜索的內容", Toast.LENGTH_SHORT).show();     }    }   });   //流式布局tag的點擊方法   mFlowLayout.setOnTagClickListener(new TagFlowLayout.OnTagClickListener() {    @Override    public boolean onTagClick(View view, int position, FlowLayout parent) {     Toast.makeText(MainActivity.this, tv.getText(), Toast.LENGTH_SHORT).show();     return true;    }   });  } } 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产91精品久久久久久| 国产一区二区激情| 亚洲乱码国产乱码精品精天堂| 亚洲欧美日韩精品久久奇米色影视| 亚洲欧美成人一区二区在线电影| 国产日韩综合一区二区性色av| 国内精品小视频在线观看| 久久伊人精品视频| 欧美性在线视频| 国产大片精品免费永久看nba| 91香蕉嫩草影院入口| 国产日韩换脸av一区在线观看| 亚洲一区美女视频在线观看免费| 精品一区二区电影| 久久久久久久影视| 亚洲在线观看视频| 亚洲欧美日韩在线一区| 欧美激情影音先锋| 日韩av在线一区二区| 国产精品一区二区在线| 欲色天天网综合久久| 亚洲欧洲在线视频| 4438全国成人免费| 亚洲欧洲高清在线| 日韩理论片久久| 国产91热爆ts人妖在线| 日韩av影院在线观看| 午夜精品久久久久久99热| 成人免费视频xnxx.com| 欧美电影免费播放| 97在线观看免费高清| 亚洲最大福利视频网| 国内精品久久久久影院 日本资源| 色久欧美在线视频观看| 国产精品久久久久久久久影视| 亚洲欧美自拍一区| 国产在线视频欧美| yellow中文字幕久久| 欧美一级高清免费播放| 国产激情视频一区| 97视频在线观看免费高清完整版在线观看| 最新日韩中文字幕| 欧美在线亚洲在线| 欧美激情二区三区| 日本久久亚洲电影| 中文字幕日本欧美| 久久99久久久久久久噜噜| 91在线视频一区| 欧美成人免费全部| 91人人爽人人爽人人精88v| 久久精品99久久久香蕉| 久久久久久久999精品视频| 久久影视电视剧免费网站清宫辞电视| 久久韩国免费视频| 欧美精品做受xxx性少妇| 91精品国产综合久久久久久久久| 在线看福利67194| 国产亚洲aⅴaaaaaa毛片| 日韩第一页在线| www亚洲精品| 亚洲精品按摩视频| y97精品国产97久久久久久| 精品国产视频在线| 日韩av在线免费看| 亚洲国产日韩欧美综合久久| 欧美激情国产日韩精品一区18| 狠狠躁夜夜躁久久躁别揉| 福利微拍一区二区| 欧美日韩国产中文字幕| 欧美激情国产日韩精品一区18| 欧洲亚洲免费视频| 久久久久日韩精品久久久男男| 伊人伊人伊人久久| 精品国产乱码久久久久酒店| 欧美成人国产va精品日本一级| 亚洲成人av在线| 久久精品国产久精国产一老狼| 久久免费视频观看| 欧美精品18videos性欧| 成人黄色在线免费| 久久久国产精品一区| 欧美国产欧美亚洲国产日韩mv天天看完整| 午夜精品久久久久久久白皮肤| 中文字幕日韩视频| 国产成人精品一区二区三区| 久久网福利资源网站| 免费不卡在线观看av| 亚洲免费精彩视频| 亚洲影影院av| 欧美激情视频在线| 国产精品18久久久久久首页狼| 欧美日韩国产999| 青草热久免费精品视频| 91免费综合在线| 高清日韩电视剧大全免费播放在线观看| 亚洲美女av黄| 色伦专区97中文字幕| 96pao国产成视频永久免费| 精品国产欧美一区二区三区成人| 美女少妇精品视频| 国产精品久久久久不卡| 亚洲人午夜色婷婷| 国模吧一区二区三区| 国产丝袜一区二区三区免费视频| 日韩在线一区二区三区免费视频| 亚洲综合精品一区二区| 法国裸体一区二区| 在线精品视频视频中文字幕| 成人av资源在线播放| 青青草国产精品一区二区| 大伊人狠狠躁夜夜躁av一区| 98精品国产高清在线xxxx天堂| 91精品久久久久久久久久入口| 国产精品专区一| 国产精品成人久久久久| 久久91亚洲精品中文字幕奶水| 成人妇女淫片aaaa视频| 日本一区二区在线播放| 亚洲www永久成人夜色| 国产精品自在线| 亚洲国产日韩欧美在线99| 亚洲国产高清高潮精品美女| 久久久亚洲国产| 亚洲欧美一区二区三区四区| 日韩有码在线电影| 亚洲一区二区三| 国产精品一区二区三区久久久| 欧美精品aaa| 中文字幕在线国产精品| 91精品久久久久久久久不口人| 欧美日韩国产专区| 在线看国产精品| 亚洲成人在线网| 国产欧美一区二区三区久久人妖| 一本久久综合亚洲鲁鲁| 日韩电影在线观看中文字幕| 日韩在线中文字| 国内精品400部情侣激情| 精品国产乱码久久久久久虫虫漫画| 欧美激情中文网| 国产欧美久久一区二区| 精品久久久久久久久国产字幕| 亚洲成人黄色在线| 亚洲欧美精品一区二区| 国产成+人+综合+亚洲欧美丁香花| 中文字幕欧美日韩va免费视频| 国产精品久久久久久久av大片| 欧美日韩国产影院| 国产一区二区三区在线视频| 7m第一福利500精品视频| 国产精品狼人色视频一区| 一区二区三区精品99久久| 日本久久久久久久久久久| 精品中文字幕久久久久久| 欧美一级电影免费在线观看| 久久99亚洲热视| 日韩av一卡二卡| 18性欧美xxxⅹ性满足| 亚洲一区二区精品| 伊人久久久久久久久久久| 欧美视频免费在线| 国内精品一区二区三区四区| 亚洲bt欧美bt日本bt| 日韩精品久久久久久福利|