【问题标题】:How to read a value from a String from a java file to another file?java - 如何从Java文件中的String读取值到另一个文件?
【发布时间】:2019-10-29 00:38:59
【问题描述】:

我有一个字符串值,它是来自EditText 的文本,我想在另一个活动中使用该String 值。 在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


【解决方案1】:

在您将名称放在编辑文本上的第一个活动中,只需从编辑文本中获取字符串并有意传递它。

第一个活动:

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);

    }
}

【讨论】:

    【解决方案2】:

    在您的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);
    
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-30
      • 2014-03-17
      • 2015-08-18
      • 1970-01-01
      相关资源
      最近更新 更多