簡體   English   中英

我正在嘗試使用另一個活動中的 EditText 的值更改 TextView 的文本

[英]I'm trying to change the text of a TextView with the value of one that is EditText in another activity

我正在嘗試使用另一個活動中的 EditText 的值更改 TextView 的文本,但它說該值為 null 但我需要通過 MainActivity5 才能訪問 MainActivity6

錯誤:

java.lang.RuntimeException:無法啟動活動 ComponentInfo{com.example.test1/com.example.test1.MainActivity5}:java.lang.NullPointerException:嘗試調用虛擬方法'java.lang.String android.os.Bundle。 getString(java.lang.String)' 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3449) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3601) 在 android.app.servertransaction 的空對象引用.LaunchActivityItem.execute(LaunchActivityItem.java:85) 在 android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 在 android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 在 android.app。 ActivityThread$H.handleMessage(ActivityThread.java:2066) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:223) at android.app.ActivityThread.main (ActivityThread.java:7656) 在 com.an 的 java.lang.reflect.Method.invoke(Native Method) droid.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947) 原因:java.lang.NullPointerException:嘗試調用虛擬android.app.Activity 的 com.example.test1.MainActivity5.onCreate(MainActivity5.java:29) 的空對象引用上的方法“java.lang.String android.os.Bundle.getString(java.lang.String)” .performCreate(Activity.java:8000) 在 android.app.Activity.performCreate(Activity.java:7984) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1309) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.爪哇:3422)

MainActivity5(更改文本視圖)

package com.example.test1;

import androidx.appcompat.app.AppCompatActivity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity5 extends AppCompatActivity {
    String st = "0";



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

        Button button6 = (Button) findViewById(R.id.button6);
        Button button7 = (Button) findViewById(R.id.button7);
        TextView tv_saldo2 = (TextView) findViewById(R.id.tv_saldo2);
        st= tv_saldo2.getText().toString() + st;

        if (getIntent().getExtras().getString("Value").equals(null)){
            Intent intent = new Intent(MainActivity5.this, MainActivity6.class);
            startActivity(intent);
            Toast.makeText(MainActivity5.this, "Precisa de addicionar dinheiro para o poder gerir", Toast.LENGTH_SHORT).show();
        }else{
            st=getIntent().getExtras().getString("Value");
            st= tv_saldo2.getText().toString() + st;
        }
        tv_saldo2.setText(st);






        button6.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity5.this, MainActivity6.class);
                startActivity(intent);
            }
        });


        button7.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity5.this, MainActivity7.class);
                startActivity(intent);
            }
        });
    }
}

MainActivity6(編輯文本)

package com.example.test1;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity6 extends AppCompatActivity {


    String st;

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


        Button button8 = (Button) findViewById(R.id.button8);
        Button button9 = (Button) findViewById(R.id.button9);
        EditText et_montante1 =(EditText) findViewById(R.id.et_montante1);
        EditText et_obs1 = (EditText) findViewById(R.id.et_obs1);




        button8.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if (TextUtils.isEmpty(et_montante1.getText().toString())) {
                    Toast.makeText(MainActivity6.this, "Campos vazios não são permitidos!", Toast.LENGTH_SHORT).show();
                }else{
                    if (TextUtils.isEmpty(et_obs1.getText().toString())) {
                        Toast.makeText(MainActivity6.this, "Campos vazios não são permitidos!", Toast.LENGTH_SHORT).show();
                    }else{
                        Intent intent=new Intent(MainActivity6.this, MainActivity5.class);
                        st=et_montante1.getText().toString();
                        intent.putExtra("Value",st);
                        Toast.makeText(MainActivity6.this, "Campos vazios não são permitidos!"+ st, Toast.LENGTH_SHORT).show();
                        startActivity(intent);
                        finish();
                    }
                }


            }
        });


        button9.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent intent = new Intent(MainActivity6.this, MainActivity5.class);
                startActivity(intent);


            }
        });
    }
}

tv_saldo2.setText(st); 將其替換為 tv_saldo2.setText(st+" "); 它將幫助您的應用程序不崩潰

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM