Android第六次——(高階控制元件下拉框與搜尋框)
阿新 • • 發佈:2018-12-18
1. 高階控制元件與低階控制元件區別 是否使用介面卡
2. 介面卡種類和作用 2.1 種類 陣列介面卡 ArrayAdapter new ArrayAdapter<String>(this,R.layout.actv_style, names);
簡單介面卡 SimpleAdapter 也叫“並不簡單的簡單介面卡”^_^
自定義介面卡
2.2 作用 橋樑 展示
3. 高階控制元件使用步驟 3.1 獲取資料 3.2 建立介面卡 3.3 繫結介面卡
4. 自動提示文字框 4.1 AutoCompleteTextView(單一提示) android:completionThreshold="1"——設定多少字開始提示,預設為2.
4.2 MultiAutoCompleteTextView(多次提示)--作業 //設定多次提示時,設定分隔符方法
MultiAutoCompleteTextView.Tokenizer t = new MultiAutoCompleteTextView.CommaTokenizer();
mactv_main.setTokenizer(t);
4.3 兩種自動提示文字框的異同 AutoCompleteTextView:支援基本的自動完成功能,適用在各種搜尋功能中,並且可以根據自己的需求設定他的預設顯示資料
程式碼:https://blog.csdn.net/waz929/article/details/83502582
5. 下拉框 Spinner
package com.example.android_06; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.MultiAutoCompleteTextView; import android.widget.SimpleAdapter; import android.widget.Spinner; import android.widget.Toast; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class MainActivity extends AppCompatActivity { // 高階控制元件下拉框 private List<Option> data2 = new ArrayList<>(); private ArrayAdapter adapter2; private Spinner spinner_main_img; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /** * 高階控制元件下拉框 */ // 初始化 loadData2(); adapter2 = new ArrayAdapter(this,R.layout.actv_main_item1,data2); spinner_main_img.setAdapter(adapter2); } /** * 高階控制元件下拉框 * 偽造資料 */ private void loadData2() { List<Map<String,String>> list=new ArrayList<>(); Map<String,String > map; for (int i=0;i<6;i++){ map = new HashMap(); map.put("bookId",i+""); map.put("bookName","傻逼"+i+"號"); list.add(map); } for (Map<String, String> map2 : list) { data2.add(new Option(map2.get("bookId"),map2.get("bookName"))); } } /** * 初始化 */ public void initView(){ spinner_main_img = findViewById(R.id.spinner_main_img); } /** * 獲取下拉框的值 * @param view */ public void getContext(View view) { Option selectedItem = (Option) spinner_main_img.getSelectedItem(); Toast.makeText(this, selectedItem.getValue(), Toast.LENGTH_SHORT).show(); } class Option { private String value; private String html; public String getValue() { return value; } public String getHtml() { return html; } public void setValue(String value) { this.value = value; } public void setHtml(String html) { this.html = html; } @Override public String toString() { return html; } public Option(String value, String html) { this.value = value; this.html = html; } } }
6.簡單控制元件
下拉框圖片加描述