我正在尝试将一个值传递给 TextView 到另一个 Activity 中,但仅当单击 Activity 中的按钮时。
这是我要设置文本的 Activity ...
public static Button yes;
public static final String TEST_KEY = "test";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_question19);
yes = (Button) findViewById(R.id.finalYes);
yes.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
Intent myIntent = new Intent(v.getContext(), Question13Activity.class);
startActivity(myIntent);
Intent i = new Intent(Question12Activity.this, HighRiskActivity.class);
i.putExtra(TEST_KEY, "SOME STRINGSSS");
}
});
这里是 HighRiskActivity,它是更新 TextView 值的目的地...
TextView t;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.high_risk);
t = (TextView) findViewById(R.id.abusedOrNah);
Bundle extras = getIntent().getExtras();
if(extras != null)
{
String value = extras.getString(TEST_KEY);
t.setText(value);
}
我的问题是在所需的 Activity 中没有打印文本,我是否传递了错误的数据?任何帮助都会很棒,这是我正在创建的应用程序的最后一步:D
更新
我不希望在单击按钮时将 Question12Activity 定向到 HighRiskActivity。我希望它转到下一个 Activity ,但仍然能够在单击按钮后将文本传递到 HighRiskActivity。抱歉造成混淆,希望这更有意义:)
最佳答案
尝试以这种方式传递数据:
Intent i = new Intent(this, SecondActivity.class);
Bundle bundle = new Bundle();
//Add your data to bundle
bundle.putString(“test”, "Data you want to pass");
//Add the bundle to the intent
i.putExtras(bundle);
startActivity(i);
现在在您的 SecondActivity
类中,您可以按如下方式检索数据:
Bundle bundle = getIntent().getExtras();
//get the data…
String stuff = bundle.getString(“test”);
关于java - 跨 Activity 传递 textview 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45223977/