Phone number format and keyboard conflict

36 Views Asked by At

Phone number format and custom typepad dose not working

Hi friends i am a Android Developer. Today i have fetching a simple problem. Anybody please help me.

Here is my code below and:

package com.example.grab_n_go_android;

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

/**
 * Created by al-imranislam on 5/22/17.
 */

public class LoginActivity extends AppCompatActivity implements TextWatcher{

    public EditText numberDisplayEditText, test2;
    private TextView displayNumberLabel;

    private int state = 0;

    private String displayNumber = "";
    private String passcodeDisplay = "";
    private String passcode = "";

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

        numberDisplayEditText = (EditText) findViewById(R.id.numberInput);
        test2 = (EditText) findViewById(R.id.numberInput);
        displayNumberLabel = (TextView) findViewById(R.id.displayLabel);

        numberDisplayEditText.addTextChangedListener(this);
        Log.d("LoginActivity", "onCreate() was called");
    }
    //For Custom Keyboard
    public void n0(View view){
        test2.setText(test2.getText().insert(test2.getText().length(),"0"));
    }
    public void n1(View view){
        test2.setText(test2.getText().insert(test2.getText().length(),"1"));
    }
    public void n2(View view){
        test2.setText(test2.getText().insert(test2.getText().length(),"2"));
    }
    public void n3(View view){
        test2.setText(test2.getText().insert(test2.getText().length(),"3"));
    }
    public void n4(View view){
        test2.setText(test2.getText().insert(test2.getText().length(),"4"));
    }
    public void n5(View view){
        test2.setText(test2.getText().insert(test2.getText().length(),"5"));
    }
    public void n6(View view){
        test2.setText(test2.getText().insert(test2.getText().length(),"6"));
    }
    public void n7(View view){
        test2.setText(test2.getText().insert(test2.getText().length(),"7"));
    }
    public void n8(View view){
        test2.setText(test2.getText().insert(test2.getText().length(),"8"));
    }
    public void n9(View view){
        test2.setText(test2.getText().insert(test2.getText().length(),"9"));
    }
    public void dele(View view){
        test2.setText(test2.getText().delete(test2.getText().length() -1, test2.getText().length()));
    }
    public void cancel(View view){
        test2.setText("");
        Toast.makeText(getApplicationContext(),"Cancel Activity is Successfully", Toast.LENGTH_SHORT).show();
        Intent i = new Intent(LoginActivity.this, MainActivity.class);
        startActivity(i);
    }
    //For Custom Keyboard
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {

    }
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        Log.d("LoginActivity", "A character was typed in");

        if (state == 0) {
            numberDisplayEditText.removeTextChangedListener(this);

            if (displayNumber.length() == 0) {
                displayNumber = displayNumber + "(";
            }
            if (displayNumber.length() == 4) {
                displayNumber = displayNumber + ")";
            }
            if (displayNumber.length() == 9) {
                displayNumber = displayNumber + "-";
            }

            displayNumber = displayNumber + s.subSequence(count - 1, count);
            numberDisplayEditText.setText(displayNumber);

            if(displayNumber.length() >= 14) {
                displayNumberLabel.setText("Enter Your Passcode");
                numberDisplayEditText.setText("");
                state = 1;
                numberDisplayEditText.addTextChangedListener(this);
                return;
            }
            numberDisplayEditText.addTextChangedListener(this);
            return;
        }
        if (state == 1){
            numberDisplayEditText.removeTextChangedListener(this);

            if(passcode.length() == 4){
                numberDisplayEditText.setText(passcodeDisplay);
                numberDisplayEditText.addTextChangedListener(this);
                return;
            }
            passcodeDisplay = passcodeDisplay + "*";
            numberDisplayEditText.setText(passcodeDisplay);
            passcode = passcode + s.subSequence(count - 1, count);
            if(passcode.length() == 4){
                Log.d("test", displayNumber + ":" + passcode);

                Intent i = new Intent(getBaseContext(), SelfCheckoutViewActivity.class);
                startActivity(i);
            }
            numberDisplayEditText.addTextChangedListener(this);
            //return;
        }
    }
    @Override
    public void afterTextChanged(Editable s) {

    }
}

Please see this Google drive link below. It's a very very simple android app.

https://drive.google.com/open?id=0B-yo9VvU7jyBeS01ek9VSXpYRzg

And This is the Simple Image:

enter image description here

0

There are 0 best solutions below