Android

Android自动补全(一)

2019-07-08
126次浏览


android自动补全 在activtity_main.xml 文件中写一个AutoCompleteTexView(自动完成文本框)标签



在MainActivity.java的文件中 根据id获取自动完成的文本框autoCompleteTextView=(AutoCompleteTextView)findViewById(R.id.actv_main_1); 在数据库中获取数据\在strings.xml的文件中写一个数组(在此以数组为例)

Android_08_0628李江李小龙李靖李月123102341230512036


获取数组的数据

String[] data = getResources().getStringArray(R.array.str_data);


C.将数据放入文本框 a。使用(数组)适配器

 ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,data);

b。将适配器设置给控件

 autoCompleteTextView.setAdapter(adapter);

----运行发现要到第二个文字才开始出现自动补全,解决如下 在activity.xml的文件中的自动完成文本款中加入一行代码

android:completionThreshold="1"(设置几个字符提示)

总体如下

####如果想要让自动补全框使用自己的形式,则可以自己写一个类似于android.R.layout.simple_list_item_1的文件如下:在layout中新建一个complete_layout.xml



并将MainActivity.java中的 使用适配器的那一块

ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,data);

改成

ArrayAdapter adapter = new ArrayAdapter(this,R.layout.complete_layout,data);




由此,自动补全完成了 所有代码如下 activity_main.xml



Strings.xml

Android_08_0628李江涛李小龙李靖李月123102341230512036


MainActivity.java

package pw.gutao.android_08_0628;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;

public class MainActivity extends AppCompatActivity {

    private AutoCompleteTextView autoCompleteTextView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //获取自动完成的文本款
        autoCompleteTextView = (AutoCompleteTextView) findViewById(R.id.actv_main_1);
        //获取数组
        String[] data = getResources().getStringArray(R.array.str_data);
        //将数据放入文本框
        //使用适配器  数组适配器(将数据通过Android自带的形式放入上下文中)
        ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1,data);
        //将适配器设置给控件
        autoCompleteTextView.setAdapter(adapter);
        
    }
}



一句话:自己的优秀习惯要将动力放在自己身上,不要把想要让自己更优秀的习惯放在别人身上,我们不能让任何人在某时出现的意外而影响我们的成长。




我要点评

评论暂时关闭。