AutoCompleteTextView实现提示

public class MainActivity extends Activity implements OnClickListener{

      private AutoCompleteTextView mAutoView;
      private Button mButton;
    
      @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.e("TAG","onCreate");
        mAutoView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);        
        mButton = (Button) findViewById(R.id.bt);
        mButton.setOnClickListener(this);
        
        displayDate("history",mAutoView);
        
      }
      
      //点击保存用户输入记录
      @Override
      public void onClick(View v) {
        switch (v.getId()) {
        case R.id.bt:
              Log.e("TAG","onClickButton");
         // String etString = at.getText().toString();
          saveData("history",mAutoView);
          break;              
        }        
      }
      
      private void displayDate(String field,AutoCompleteTextView auto) {
          Log.e("TAG","initAutoComplete");
            //获取SP对象
            SharedPreferences sp = getSharedPreferences("network_url", 0);
            //获取字段
            String longhistory = sp.getString("history", "nothing");
            //把字符串分割成字符串数组
            String[]  hisArrays = longhistory.split(",");
            //把数组显示到AutoCompleteTextView
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, hisArrays);            
            auto.setAdapter(adapter);        
            //设置从第二个字符开始提示
            auto.setThreshold(1);            
      
      }
      private void saveData(String field,AutoCompleteTextView auto){
          Log.e("TAG","SaveData");
        //获取SP对象
        SharedPreferences sp =getSharedPreferences("network_url", 0);
        //把用户输入数据转换数据类型
        String text = auto.getText().toString();
      //获取字段
        String longhistory = sp.getString("history","nothing");
        //一个类似于 StringBuffer  的字符串缓冲区
        StringBuilder sb = new StringBuilder(longhistory);
        //append 方法始终将这些字符添加到缓冲区的末端
        sb.append(text+",");
        //获取编辑器
        Editor editor =sp.edit();
        //存入数据
          editor.putString("history", sb.toString());
          //提交数据
        editor.commit();   
        
      }

    }


xml文件

<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"
  android:paddingBottom="@dimen/activity_vertical_margin"
  android:paddingLeft="@dimen/activity_horizontal_margin"
  android:paddingRight="@dimen/activity_horizontal_margin"
  android:paddingTop="@dimen/activity_vertical_margin"
  tools:context="com.xgezhang.sharepreference.MainActivity" >
  <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="plaese input" />

  <AutoCompleteTextView
      android:id="@+id/autoCompleteTextView1"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:ems="10"
      android:text="" >

      <requestFocus />
  </AutoCompleteTextView>

  <Button
    android:id="@+id/bt"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="5dp"
    android:text="存储到SharePreference" />
</LinearLayout>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值