安卓学习第11课——AutoCompleteTextView

。。。在百度上搜了这么一段。理解了ArrayAdapter的三个参数的用途

1. 这个小例子是要显示一个数组,我们就用ArrayAdapter,数组适配器,数据的数据类型<>是String类型的,数据的数据类型还可以是其他的包括对象类型的

2. ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(ArrayListDemo.this, android.R.layout.simple_list_item_1,adapterData);

这段代码是创建一个数组适配器的代码,里面有三个参数,第一个参数是上下文,就是当前的Activity, 第二个参数是android sdk中自己内置的一个布局,它里面只有一个TextView,这个参数是表明我们数组中每一条数据的布局是这个view,就是将每一条数据都显示在这个 view上面;第三个参数就是我们要显示的数据。listView会根据这三个参数,遍历adapterData里面的每一条数据,读出一条,显示到第二 个参数对应的布局中,这样就形成了我们看到的listView.

AdapterView功能
一个Adapter对象作为一个AdapterView和View底层数据之间的桥,提供对data Items的存取,同时负责针对每个Data如何渲染到对应的View中。

貌似懂了Adapter是干啥用的。。。感觉就是讲数组或是list里的数据转化为视图。。。这就容易懂了。。。

下面上代码。。就是自动完成文本框

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:orientation="vertical">
<!-- 定义一个自动完成文本框,指定输入一个字符后进行提示 -->
<AutoCompleteTextView 
    android:id="@+id/auto"
     android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:completionHint="请选择您喜欢的书籍"
    android:dropDownHorizontalOffset="10sp"
    android:completionThreshold="1"
    
    />
<!-- 定义一个MultiAutoCompleteTextView -->
<MultiAutoCompleteTextView 
    android:id="@+id/mauto"
      android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:completionThreshold="1"
    />
</LinearLayout>
package com.example.autocompletetv;


import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;

public class MainActivity extends Activity {

    AutoCompleteTextView actv;
    MultiAutoCompleteTextView mauto;
    //定义一个字符数组作为提示文本
    String[] books=new String[]{
            "java讲义",
            "ajax讲义",
            "XML讲义",
            "android讲义"
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //创建一个ArrayAdapter,封装数组
        ArrayAdapter<String> aa=new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, books);
        actv=(AutoCompleteTextView) findViewById(R.id.auto);
        actv.setAdapter(aa);
        mauto=(MultiAutoCompleteTextView) findViewById(R.id.mauto);
        mauto.setAdapter(aa);
        //为MultiAutoCompleteTextView设置分隔符
        mauto.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
    }    
}

 

 

 

安卓学习第11课——AutoCompleteTextView,,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。