如何从字符串将值从Java文件读取到另一个文件

问题描述 投票:0回答:2

我有一个字符串值,该字符串值是EditText中的文本,我想在另一个活动中使用该字符串值。在TextView中,用户输入他/她的名字,在下一个活动中,我要显示一个欢迎屏幕,说“你好,名字

package com.example.aprendelastablasdemultiplicar;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;
import android.widget.TextView;
public class pantalla2 extends AppCompatActivity {
    private EditText ingresarnombre;
    private TextView cifracero;
    private TextView cifrauno;
    ingresarnombre =         (EditText)findViewById(R.id.ingresarnombre);
    String nombre = ingresarnombre.getText().toString();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pantalla2);
        cifracero.setText(0);
        cifrauno.setText(1);
    }
}
android textview android-edittext username
2个回答
2
投票

在第一个活动中,您将名称放置在edittext上,只需从Edittext获取字符串,然后有目的地传递该字符串。

FirstActivity:

public class FirstActivity extends AppCompatActivity {

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

        EditText edittext = (EditText)findViewById(R.id.edittext);
        String name = edittext.getText().toString();

        Intent intent = new Intent(ActivityOne.this,ActivityTwo.class);
        intent.putExtra("name_extra",name);

        startActivity(intent);

    }
}

在您的第二项活动中,仅从意图中获得了字符串额外的值,然后使用它。

第二活动:

public class SecondActivity extends AppCompatActivity {

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

    String name = getIntent().getStringExtra("name_extra");

    TextView textView = (TextView) findViewById(R.id.textView);

    textView.setText("Welcome "+name);

    }
}

0
投票

pantalla2中创建一个按钮,以便在单击按钮时可以转到另一个活动。请确保已在activity_pantalla2中提供了textview和按钮的ID,请参见以下说明:

       public class pantalla2 extends AppCompatActivity {
        private EditText ingresarnombre;
        private Button button;
        private TextView cifracero;

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

            cifracero = findViewById(R.id.txtCifracero);
            button = findViewById(R.id.button);

            String cifracero = cifracero.getText().toString().trim();

            button.setOnClickListener(new View.OnClickListener() { 
              @Override
              public void onClick(View view) 
              { 
                Intent intent = new Intent(getApplicationContext(), SecondActivity.class);
                intent.putExtra("key", cifracero);
                startActivity(intent);
              } 
             });  
       }
}

SecondActivity中,您只需要在布局中添加textview并从第一个活动获取值即可。

   public class SecondActivity extends AppCompatActivity {

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

    String name = getIntent().getStringExtra("name_extra");

    TextView textView = (TextView) findViewById(R.id.textView);

    textView.setText("Welcome "+name);

    }
}
© www.soinside.com 2019 - 2024. All rights reserved.