继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

实现一个获得用户手机国家信息并同步EditText和TextView

慕尼黑0536602
关注TA
已关注
手记 37
粉丝 3
获赞 6

http://img.mukewang.com/5fa31996000172df05040791.jpg

先写个Layout:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center"
    android:background="#ffffff"
    tools:context=".MainActivity">
    <EditText
        android:id="@+id/edt"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入"
        android:inputType="number|phone"
        android:digits="0123456789"
        android:textColor="#000000"
        android:textSize="15dp"
        android:textColorHint="#707070"/>
    <TextView
        android:id="@+id/txt"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#000000"
        android:text="数字"
        android:textSize="15dp"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="horizontal">
        <TextView
            android:id="@+id/money_symbol"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/euro"
            android:textSize="15dp"
            android:textColor="#000000"/>
        <TextView
            android:id="@+id/amount"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="00"
            android:textColor="#000000"
            android:textSize="15dp"/>
    </LinearLayout>
    <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="随便"/>


</LinearLayout>

记得,添加不同国家的value,手机才能捕捉得到:

http://img2.mukewang.com/5fa319e50001f36a03470219.jpg

接着是主代码:

package com.example.onemoretryapplication;



import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.util.Locale;


public class MainActivity extends AppCompatActivity {
    private EditText edt;
    private TextView txt, money_symbol = null, amount;
    private Button btn;
    private float result;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        edt = findViewById(R.id.edt);
        txt = findViewById(R.id.txt);
        money_symbol = findViewById(R.id.money_symbol);
        amount = findViewById(R.id.amount);
        btn = findViewById(R.id.btn);

        initEvent();
    }

    private void initEvent() {
        edt.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {

            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                //变化时执行的方法
                //TextView接收editText的内容,实现同步显示
                int num = 0 ;
                try{
                    num = Integer.parseInt(edt.getText().toString());
                }catch (NumberFormatException e){

                }
                if(num == 0){
                    Toast.makeText(MainActivity.this, "请至少输入一位用户", Toast.LENGTH_SHORT).show();
                }else{
                    txt.setText(edt.getText().toString());
                    amount.setText(String.valueOf(getResult()));

                }


            }

            @Override
            public void afterTextChanged(Editable s) {

            }
        });


    }

    private float getResult() {
        Locale locale;
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
            locale = getResources().getConfiguration().getLocales().get(0);
        } else {
            locale = getResources().getConfiguration().locale;
        }
        String language = locale.getCountry();
        String str = "CN";
        if (language.equals(str)) {
            int txt = Integer.parseInt(edt.getText().toString());
            result = (float) (txt * 0.0135*6.9);
            return result;

        }
        return result;


    }
}


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP