Giter Site home page Giter Site logo

pinview's People

Contributors

arberg avatar farshidroohi avatar koushik1994 avatar krishanudey avatar trietbui85 avatar vatican-cameos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pinview's Issues

OTP not fully visible

OTP not fully visible when i enter OTP only half part of the digit is visible rest goes up inside the box.

Change Cursor color

Please let me know how to change the color of cursor to black which is as of now blinking in red color.

Arabic Number

How to set Typeface
i am show Arabic Number But No find Typeface
Untitled

Fatal Exception: java.lang.ArrayIndexOutOfBoundsException length=10; index=-1

Fatal Exception: java.lang.ArrayIndexOutOfBoundsException: length=10; index=-1
at java.util.ArrayList.get(ArrayList.java:439)
at com.goodiebag.pinview.Pinview.onKey(Pinview.kt:435)
at android.view.View.dispatchKeyEvent(View.java:14574)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1999)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1999)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1999)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1999)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1999)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1999)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1999)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1999)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1999)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1999)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1999)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1999)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1999)
at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1999)
at com.android.internal.policy.DecorView.superDispatchKeyEvent(DecorView.java:555)
at com.android.internal.policy.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1907)
at android.app.Activity.dispatchKeyEvent(Activity.java:4203)
at androidx.core.app.ComponentActivity.superDispatchKeyEvent(ComponentActivity.java:124)
at androidx.core.view.KeyEventDispatcher.dispatchKeyEvent(KeyEventDispatcher.java:86)
at androidx.core.app.ComponentActivity.dispatchKeyEvent(ComponentActivity.java:142)
at androidx.appcompat.app.AppCompatActivity.dispatchKeyEvent(AppCompatActivity.java:599)
at androidx.appcompat.view.WindowCallbackWrapper.dispatchKeyEvent(WindowCallbackWrapper.java:59)
at androidx.appcompat.app.AppCompatDelegateImpl$AppCompatWindowCallback.dispatchKeyEvent(AppCompatDelegateImpl.java:3090)
at com.android.internal.policy.DecorView.dispatchKeyEvent(DecorView.java:442)
at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:6902)
at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6759)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6228)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6290)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6251)
at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:6425)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6259)
at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:6482)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6232)
at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6290)
at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6251)
at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6259)
at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6232)
at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:9372)
at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:9312)
at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:9258)
at android.view.ViewRootImpl$ViewRootHandler.handleMessageImpl(ViewRootImpl.java:5984)
at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:5850)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loopOnce(Looper.java:233)
at android.os.Looper.loop(Looper.java:344)
at android.app.ActivityThread.main(ActivityThread.java:8248)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:589)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1071)

Delete/BackSpace Key is not working in some keyboards!

The problem is that on several keyboards onKey() method is not getting called for key event KEYCODE_DEL on pressing Backspace/Delete.
This seems to be a serious bug since user can't type a new pin if he has entered a wrong one.

Manifest merger failed with multiple errors, Fix needed ASAP

if i include this library in project,
i get the following error, please provide a fix.

Executing tasks: [:app:assembleDebug] in project /home/attaullah/AndroidStudioProjects/Racheron

> Task :app:preBuild UP-TO-DATE
> Task :app:preDebugBuild UP-TO-DATE
> Task :app:compileDebugAidl NO-SOURCE
> Task :app:compileDebugRenderscript NO-SOURCE
> Task :app:dataBindingMergeDependencyArtifactsDebug UP-TO-DATE
> Task :app:dataBindingMergeGenClassesDebug UP-TO-DATE
> Task :app:generateDebugResValues UP-TO-DATE
> Task :app:generateDebugResources UP-TO-DATE
> Task :app:mergeDebugResources UP-TO-DATE
> Task :app:dataBindingGenBaseClassesDebug UP-TO-DATE
> Task :app:generateDebugBuildConfig UP-TO-DATE
> Task :app:writeDebugApplicationId UP-TO-DATE
> Task :app:generateSafeArgsDebug UP-TO-DATE
> Task :app:checkDebugAarMetadata UP-TO-DATE
> Task :app:createDebugCompatibleScreenManifests UP-TO-DATE
> Task :app:extractDeepLinksDebug UP-TO-DATE

> Task :app:processDebugMainManifest FAILED
[com.android.support:animated-vector-drawable:28.0.0] /home/attaullah/.gradle/caches/transforms-2/files-2.1/9d3e6dc301483367fed7017e1df05a8c/animated-vector-drawable-28.0.0/AndroidManifest.xml Warning:
	Package name 'android.support.graphics.drawable' used in: com.android.support:animated-vector-drawable:28.0.0, com.android.support:support-vector-drawable:28.0.0.
[androidx.versionedparcelable:versionedparcelable:1.1.1] /home/attaullah/.gradle/caches/transforms-2/files-2.1/b2156729350c545798d54a40891d393c/versionedparcelable-1.1.1/AndroidManifest.xml Warning:
	Package name 'androidx.versionedparcelable' used in: androidx.versionedparcelable:versionedparcelable:1.1.1, com.android.support:versionedparcelable:28.0.0.
/home/attaullah/AndroidStudioProjects/Racheron/app/src/main/AndroidManifest.xml:24:18-86 Error:
	Attribute application@appComponentFactory value=(androidx.core.app.CoreComponentFactory) from [androidx.core:core:1.5.0] AndroidManifest.xml:24:18-86
	is also present at [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91 value=(android.support.v4.app.CoreComponentFactory).
	Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:6:5-22:19 to override.

See http://g.co/androidstudio/manifest-merger for more information about the manifest merger.


FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugMainManifest'.
> Manifest merger failed with multiple errors, see logs

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 3s
12 actionable tasks: 1 executed, 11 up-to-date

random numeric keypad

Hello there. Is there any chance that it displays number randomly each time? If there is, than would you please let me know how to do it?

quick clicks will lose data

I found some problem,On some android devices, quick clicks will lose data

For example, I quickly enter 1234, View on the display may be 14, this is what happens to me on Samsung SM-G9350(android 6.0.1)

I need your help

crash

Fatal Exception: java.lang.ArrayIndexOutOfBoundsException: length=10; index=-1
at java.util.ArrayList.get(ArrayList.java:439)
at com.goodiebag.pinview.Pinview.onTextChanged(Pinview.java:73)
at android.widget.TextView.sendOnTextChanged(TextView.java:10959)
at android.widget.TextView.setText(TextView.java:6384)
at android.widget.TextView.setText(TextView.java:6184)
at android.widget.EditText.setText(EditText.java:146)
at android.widget.TextView.setText(TextView.java:6141)
at sefryek.com.hamrahbanksepah.activityActivation.ReceiveCodeActivity.clearPinViewChild(ReceiveCodeActivity.java:49)
at sefryek.com.hamrahbanksepah.activityActivation.ReceiveCodeActivity.setFonts(ReceiveCodeActivity.java)
at sefryek.com.hamrahbanksepah.activityActivation.ReceiveCodeActivity$configResendCode$1.invoke(ReceiveCodeActivity.java:27)
at sefryek.com.hamrahbanksepah.activityActivation.ReceiveCodeActivity$configResendCode$1.invoke(ReceiveCodeActivity.java:27)
at sefryek.com.hamrahbanksepah.activityActivation.ReceiveCodeActivity$configResendCode$1.invoke(ReceiveCodeActivity.java:2)
at sefryek.com.hamrahbanksepah.activityActivation.ReceiveCodeActivity$configResendCode$1.invoke(ReceiveCodeActivity.java:2)
at sefryek.com.hamrahbanksepah.Extention.GroupKt$sam$i$android_view_View_OnClickListener$0.onClick(GroupKt.java:2)
at android.view.View.performClick(View.java:7339)
at android.widget.TextView.performClick(TextView.java:14222)
at android.view.View.performClickInternal(View.java:7305)
at android.view.View.access$3200(View.java:846)
at android.view.View$PerformClick.run(View.java:27788)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7073)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964)

PinView setText

Your pin view is soo soo perfect until you forgot one important thing that even the very basic edit text has, setting the text. There is not method for setting the text to the pin view for example the android phone is automatically reading the sent OTP and has to be set to the pin view, someone atleast needs to resolve this

Two tiles are cleared when pressing DEL button on one tile

When I press DEL button to clear one tile (cursor is visible), the previous tile is also cleared. I debugged the code and found out that the problem maybe is in onKey() method:

 else if (currentTag > 0) {
                mDelPressed = true;
                if (editTextList.get(currentTag).length() == 0) {
                    //Takes it back one tile
                    editTextList.get(currentTag - 1).requestFocus();
                    //Clears the tile it just got to
                    editTextList.get(currentTag).setText("");
                } else {
                    //If it has some content clear it first
                    editTextList.get(currentTag).setText("");
                }
            }

I can't figure it out why calling setText("") when current tile has already length = 0. The previous tile has gained focus and so the currentFocus has been changed. Now calling setText("") on cached currentTag causes textChangeListener to get called and:

else if (charSequence.length() == 0) {
            int currentTag = getIndexOfCurrentFocus();
            mDelPressed = true;
            //For the last cell of the non password text fields. Clear the text without changing the focus.
            if (editTextList.get(currentTag).getText().length() > 0)
                editTextList.get(currentTag).setText("");
        }

Above lines clears the previous tile, because currentTag is now updated and previous tile is the currentFocus.

Assigning the view in Xamarin application

I have the pin view created, assigned an Id, and is present in resource.cs

The problem is that I am trying to reference the view in my settings activity so I can use the onDataEntered method to get the values, but my reference variable is always null. Even though using breakpoints tells me that the view I have referenced is not null.

`using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.Gms.Ads;
using Android.Preferences;
using Com.Goodiebag.Pinview;
using static Com.Goodiebag.Pinview.Pinview;

namespace JourneyAssistant
{
[Activity(Label = "Settings")]
public class SettingsActivity : Activity, IPinViewEventListener
{
//Variable declarations
AdView mAdView;
ISharedPreferences preferences;
ISharedPreferencesEditor editor;
Switch hideAddress;
Button saveBTN;
EditText streetName;
EditText area;
EditText town;
EditText county;
EditText postcode;
Pinview pinView;
string pinViewPin;
public string userPin;
bool hideAddressStatus;

    protected override void OnCreate(Bundle savedInstanceState)
    {
        base.OnCreate(savedInstanceState);
        SetContentView(Resource.Layout.activity_settings);

        //Initialise Xamarin Essentials API
        Xamarin.Essentials.Platform.Init(this, savedInstanceState);

        pinView = new Pinview(this);

        streetName = FindViewById<EditText>(Resource.Id.streetName);
        area = FindViewById<EditText>(Resource.Id.area);
        town = FindViewById<EditText>(Resource.Id.town);
        county = FindViewById<EditText>(Resource.Id.county);
        postcode = FindViewById<EditText>(Resource.Id.postcode);
        saveBTN = FindViewById<Button>(Resource.Id.saveBTN);
        mAdView = FindViewById<AdView>(Resource.Id.adView);
        hideAddress = FindViewById<Switch>(Resource.Id.hideAddress);
        pinView = FindViewById<Pinview>(Resource.Id.pinEntry);

        EditText[] editTexts = new EditText[] { streetName, area, town, county, postcode };

        MobileAds.Initialize(this, "ca-app-pub-5407142743467927~1824688848");
        AdRequest adRequest = new AdRequest.Builder().Build();
        mAdView.LoadAd(adRequest);

        preferences = PreferenceManager.GetDefaultSharedPreferences(this);
        hideAddressStatus = preferences.GetBoolean("hideAddress", false);
        userPin = preferences.GetString("userPin", "Pin not set");
        
        if (hideAddressStatus == true)
        {
            pinView.SetPinViewEventListener(this);
            hideAddress.Checked = true;
            streetName.Text = preferences.GetString("streetName", "");
            area.Text = preferences.GetString("area", "");
            town.Text = preferences.GetString("town", "");
            county.Text = preferences.GetString("county", "");
            postcode.Text = preferences.GetString("postcode", "");
            streetName.Visibility = ViewStates.Invisible;
            area.Visibility = ViewStates.Invisible;
            town.Visibility = ViewStates.Invisible;
            county.Visibility = ViewStates.Invisible;
            postcode.Visibility = ViewStates.Invisible;
        }
        else
        {
            pinView.SetPinViewEventListener(this);
            hideAddress.Checked = false;
            streetName.Text = preferences.GetString("streetName", "");
            area.Text = preferences.GetString("area", "");
            town.Text = preferences.GetString("town", "");
            county.Text = preferences.GetString("county", "");
            postcode.Text = preferences.GetString("postcode", "");
            streetName.Visibility = ViewStates.Visible;
            area.Visibility = ViewStates.Visible;
            town.Visibility = ViewStates.Visible;
            county.Visibility = ViewStates.Visible;
            postcode.Visibility = ViewStates.Visible;

        };

        hideAddress.CheckedChange += (s, e) =>
        {
            if (e.IsChecked)
            {
                if (pinViewPin == "")
                {
                    Toast.MakeText(this, "Please set a PIN",ToastLength.Short).Show();
                }
                hideAddressStatus = true;
                streetName.Visibility = ViewStates.Invisible;
                area.Visibility = ViewStates.Invisible;
                town.Visibility = ViewStates.Invisible;
                county.Visibility = ViewStates.Invisible;
                postcode.Visibility = ViewStates.Invisible;
            }
            else
            {
                hideAddressStatus = false;
                streetName.Visibility = ViewStates.Visible;
                area.Visibility = ViewStates.Visible;
                town.Visibility = ViewStates.Visible;
                county.Visibility = ViewStates.Visible;
                postcode.Visibility = ViewStates.Visible;
            }
        };

        saveBTN.Click += delegate
        {
            foreach (EditText e in editTexts)
            {
                if (e.Text == "")
                {
                    Toast.MakeText(this, "All address fields are required", ToastLength.Short).Show();
                    break;
                }
                    
                
            }
            saveSettings();

        };

    }

    public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Android.Content.PM.Permission[] grantResults)
    {
        Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);

        base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
    }

    public void saveSettings()
    {
        editor = preferences.Edit();
        editor.PutString("streetName", streetName.Text);
        editor.PutString("area", area.Text);
        editor.PutString("town", town.Text);
        editor.PutString("county", county.Text);
        editor.PutString("postcode", postcode.Text);
        editor.PutBoolean("hideAddress", hideAddressStatus);
        editor.Commit();
        Toast.MakeText(this, "Settings saved", ToastLength.Short).Show();
    }

    public void OnDataEntered(Pinview pinView, bool fromUser)
    {
        Toast.MakeText(this, "" + pinView.Value, ToastLength.Short).Show();
    }
}

}`

Does anybody know whats going on please?

delay on inputs

when you type faster it delays and couldn.'t type, how can I fix this

Disable input on pinView

If there a method or a way to disable the pinView dynamically so that the user cannot input anymore? I tried setEnabled(false), but it doesn't work.

Not alble to set value in setValue() method?

Hi, i used your pineview and its working but i want to reset the value in pinview on button click,how should i do that? i use to set the value as 0000 by calling setvalue() method but it problem is when i called getValue() after that i get only 0000 not the user enter value after reset, please help me.

crash

in some devices i had this crash

Fatal Exception: java.lang.NumberFormatException: Invalid int: ""
at java.lang.Integer.invalidInt(Integer.java:138)
at java.lang.Integer.parseInt(Integer.java:358)
at java.lang.Integer.parseInt(Integer.java:334)
at com.sabbar.seeker.ibtikar.ui.auth.AuthRepository.doSendOtp(AuthRepository.java:45)
at com.sabbar.seeker.ibtikar.ui.auth.AuthViewModel.submitOtpToVerification(AuthViewModel.java:90)
at com.sabbar.seeker.ibtikar.ui.auth.OtpCodeFragment$buildOtpCode$1.onDataEntered(OtpCodeFragment.java:132)
at com.goodiebag.pinview.Pinview.onTextChanged(Pinview.java:406)
at android.widget.TextView.sendOnTextChanged(TextView.java:8636)
at android.widget.TextView.handleTextChanged(TextView.java:8701)
at android.widget.TextView$ChangeWatcher.onTextChanged(TextView.java:10914)
at android.text.SpannableStringBuilder.sendTextChanged(SpannableStringBuilder.java:1061)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:582)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:503)
at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:39)
at android.view.inputmethod.BaseInputConnection.replaceText(BaseInputConnection.java:698)
at android.view.inputmethod.BaseInputConnection.commitText(BaseInputConnection.java:204)
at com.android.internal.widget.EditableInputConnection.commitText(EditableInputConnection.java:191)
at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:295)
at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:82)
at android.os.Handler.dispatchMessage(Handler.java:111)
at android.os.Looper.loop(Looper.java:210)
at android.app.ActivityThread.main(ActivityThread.java:5982)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:852)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:742)

Manifest Build Error

Hi ,
I want to use v1.3 in this library but I closed the backup from the manifest.
"android:allowBackup="false"" , and then sync ;
Attribute application@allowBackup value=(false) from AndroidManifest.xml:16:9-36
is also present at [com.github.GoodieBag:Pinview:v1.3] AndroidManifest.xml:12:9-35 value=(true).
Suggestion: add 'tools:replace="android:allowBackup"' to element at AndroidManifest.xml:15:5-59:19 to override.

Value is not exact

Pinview pin = (Pinview) findViewById(R.id.pinview);
        pin.setPinViewEventListener(new Pinview.PinViewEventListener() {
            @Override
            public void onDataEntered(Pinview pinview, boolean fromUser) {
                    if(pinview.getValue() == "1234") {
                        Toast.makeText(MainActivity.this, pinview.getValue(), Toast.LENGTH_SHORT).show();
                    }
            }
        });

This should make a toast when I enter 1234 but it doesn't. Phone: Xiaomi MI 10T.

Input type number not working in android 9 api 28

below here sample code input type number but in keyboard still has text

<com.goodiebag.pinview.Pinview android:id="@+id/pinview1" android:layout_width="0dp" android:layout_height="wrap_content" android:background="@drawable/bg_tag_rect" android:layout_marginLeft="35dp" android:layout_marginRight="35dp" android:layout_marginTop="20dp" app:cursorVisible="false" app:hint="" app:pinBackground="@drawable/bg_box_tag" app:inputType="number" app:forceKeyboard="true" app:password="false" app:pinHeight="28dp" app:pinLength="6" app:pinWidth="28dp" app:layout_constraintTop_toBottomOf="@+id/lbl2" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent"/>

Android 9 api 28 honor 8 pro

No updated code on maven

Github source has clearValue() function

public void setValue(@NonNull String value) {
        String regex = "[0-9]*"; // Allow empty string to clear the fields
        fromSetValue = true;
        if (inputType == InputType.NUMBER && !value.matches(regex))
            return;
        int lastTagHavingValue = -1;
        for (int i = 0; i < editTextList.size(); i++) {
            if (value.length() > i) {
                lastTagHavingValue = i;
                editTextList.get(i).setText(((Character) value.charAt(i)).toString());
            } else {
                editTextList.get(i).setText("");
            }
        }
        if (mPinLength > 0) {
            if (lastTagHavingValue < mPinLength - 1) {
                currentFocus = editTextList.get(lastTagHavingValue + 1);
            } else {
                currentFocus = editTextList.get(mPinLength - 1);
                if (inputType == InputType.NUMBER || mPassword)
                    finalNumberPin = true;
                if (mListener != null)
                    mListener.onDataEntered(this, false);
            }
            currentFocus.requestFocus();
        }
        fromSetValue = false;
        updateEnabledState();
    }

And for same method on maven its showing

public void setValue(@NonNull String value) {
        String regex = "[0-9]+";
        this.fromSetValue = true;
        if (this.inputType != Pinview.InputType.NUMBER || value.matches(regex)) {
            int lastTagHavingValue = -1;

            for(int i = 0; i < this.editTextList.size(); ++i) {
                if (value.length() > i) {
                    lastTagHavingValue = i;
                    ((EditText)this.editTextList.get(i)).setText(Character.valueOf(value.charAt(i)).toString());
                } else {
                    ((EditText)this.editTextList.get(i)).setText("");
                }
            }

            if (this.mPinLength > 0) {
                if (lastTagHavingValue < this.mPinLength - 1) {
                    this.currentFocus = (View)this.editTextList.get(lastTagHavingValue + 1);
                } else {
                    this.currentFocus = (View)this.editTextList.get(this.mPinLength - 1);
                    if (this.inputType == Pinview.InputType.NUMBER || this.mPassword) {
                        this.finalNumberPin = true;
                    }

                    if (this.mListener != null) {
                        this.mListener.onDataEntered(this, false);
                    }
                }

                this.currentFocus.requestFocus();
            }

            this.fromSetValue = false;
        }
    }

Keyboard remains Open

Greetings,
How i solve it
Keyboard remain open before Pinview Screen reach using fragments

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.