Невозможно получить данные из общего намерения - PullRequest
0 голосов
/ 07 февраля 2020

Я вызываю действие RegistrationCredentialsActivity из двух разных действий: RegistrationActivity и ForgotPasswordActivity. Я передаю имя действия как StringExtra из этих действий наряду с другими деталями. Но внутри RegistrationCredentialsActivity я не могу получить данные, отправленные из ForgotPasswordActivity. Только имя активности выбрано успешно.

Я устанавливаю полученные данные как текст TextView для RegistrationCredentialsActivity. Кто-нибудь есть какие-либо идеи, почему это происходит?

PS: он работает нормально для RegistrationActivity, проблема возникает только для ForgotPasswordActivity

RegistrationCredentialsActivity (где я получаю настройки получил данные в TextView):

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_registration_credentials)
        text = findViewById(R.id.txtRegDetails)
        var string = ""
        if(intent != null){
            val activity = intent.getStringExtra("activity")
            println("Activity = "+activity.toString())          //this line is printed as expected
            if(activity.contentEquals("RegistrationActivity")) {
                string += "Name: " + intent.getStringExtra("name") + "\n"
                string += "Email: " + intent.getStringExtra("email") + "\n"
                string += "Mobile no.: " + intent.getStringExtra("mobile") + "\n"
                string += "Address: " + intent.getStringExtra("address")
            }
            else if(activity.contentEquals("ForgotPassword")){
                println("Inside else block123")       //this line is also printed
                string += "Email: "+intent.getStringExtra("email")+"\n"   //problem lies in these
                string += "Mobile: "+intent.getStringExtra("mobile")          //two lines
            }
        }
        text.text = string
    }

RegistrationActivity:

val intent = Intent(this@RegistrationActivity,RegistrationCredentialsActivity::class.java)
                intent.putExtra("name",name)
                intent.putExtra("email",email)
                intent.putExtra("mobile",mobile)
                intent.putExtra("address",address)
                intent.putExtra("activity","RegistrationActivity")
                startActivity(intent)

ForgotPasswordActivity:

val intent = Intent(this@ForgotPasswordActivity,RegistrationCredentialsActivity::class.java)
            intent.putExtra("activity","ForgotPassword")
            intent.putExtra("email",email)
            intent.putExtra("mobile",mobile)
            startActivity(intent)

Когда вызывается из RegistrationActivity (правильно):

enter image description here

При вызове из ForgotPasswordActivity (неверно):

enter image description here

1 Ответ

1 голос
/ 07 февраля 2020

кажется, что переменные "email" и "mobile", переданные в намерении забытого пароля, пусты

протестируйте это:

val intent = Intent(this@ForgotPasswordActivity,RegistrationCredentialsActivity::class.java)
            intent.putExtra("activity","ForgotPassword")
            intent.putExtra("email","TEST")
            intent.putExtra("mobile","TEST")
            startActivity(intent)

вы, вероятно, обнаружите, что в этом случае TEST будет быть написанным ..

Затем проверьте, правильно ли установлены переменные "email" и "mobile" и не являются ли они пустыми.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...