安卓开发点击CheckBox记住密码

1.activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:orientation="vertical"
 android:background="#ADD8E6">
 
 <RelativeLayout
  android:id="@+id/login_div"
  android:layout_width="fill_parent"
  android:layout_height="221dp"
  android:layout_margin="15dip"
  android:padding="15dip" >
 
  <TextView
   android:id="@+id/login_user_input"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_alignParentTop="true"
   android:layout_margin="5dp"
   android:textSize="16dp"
   android:typeface="sans"
   android:text="账号"/>
 
  <EditText
    android:id="@+id/user_input"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:layout_below="@id/login_user_input"
   android:background="@android:drawable/editbox_background"
   android:inputType="text"
   android:singleLine="true" />
 
  <TextView
   android:id="@+id/login_pass_input"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_below="@id/user_input"
   android:layout_margin="5dp"
   android:textSize="16dp"
   android:typeface="sans"
   android:text="密码"/>
 
  <EditText
   android:id="@+id/pass_input"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:layout_below="@id/login_pass_input"
   android:background="@android:drawable/editbox_background"
   android:inputType="textPassword"
   android:singleLine="true" />
 
  <CheckBox
   android:id="@+id/checkBoxLogin"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_alignLeft="@+id/pass_input"
   android:layout_alignParentBottom="true"
    android:text="记住密码"/>
 
  <Button
   android:id="@+id/new_user"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_alignParentBottom="true"
   android:layout_alignRight="@+id/pass_input"
   android:layout_marginRight="28dp"
   android:onClick="To_Title"
   android:text="登录"/>
 </RelativeLayout>
 
</LinearLayout>

2.MainActivity

package com.example.test;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener{
    private EditText uname = null;
     private EditText upswd = null;
     private CheckBox checkboxButton = null;
     private Button login = null;
     SharedPreferences sp = null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        sp = this.getSharedPreferences("userinfo", Context.MODE_PRIVATE);
        init();
    }

    private void init() {
        uname = (EditText) findViewById(R.id.user_input);
          upswd = (EditText) findViewById(R.id.pass_input);
          checkboxButton = (CheckBox) findViewById(R.id.checkBoxLogin);
          login = (Button) findViewById(R.id.new_user);
          if (sp.getBoolean("checkboxBoolean", false))
           {
            uname.setText(sp.getString("uname", null));
            upswd.setText(sp.getString("upswd", null));
            checkboxButton.setChecked(true);
        
           }
          //登录按钮的监听
          login.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        if (v == login){
               String name = uname.getText().toString();
               String pswd = upswd.getText().toString();
               if(name.trim().equals("")){
                Toast.makeText(this,
                "请您输入用户名!", Toast.LENGTH_SHORT).show();
                return;
               }
               if(pswd.trim().equals("")){
                Toast.makeText(this,
                "请您输入密码!", Toast.LENGTH_SHORT).show();
                return;
               }
               boolean CheckBoxLogin = checkboxButton.isChecked();
               
               //记住密码
               if (CheckBoxLogin)
               {
                 Editor editor = sp.edit();
                 editor.putString("uname", name);
                 editor.putString("upswd", pswd);
                 editor.putBoolean("checkboxBoolean", true);
                 editor.commit();
               }
               else
               {
                Editor editor = sp.edit();
                editor.putString("uname", null);
                editor.putString("upswd", null);
                editor.putBoolean("checkboxBoolean", false);
                editor.commit();
                }
               //Intent跳转
               Intent intent=new Intent(MainActivity.this,TwoActivity.class);
               startActivity(intent);
              }
        
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

举儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值