Toast 到第二个 TextView 的值 activity
Value of Toast to TextView of second activity
这是我的 MainActivity.java,我想要另一个 activity 的文本视图中的结果?我怎样才能实现它?你能给我举个例子吗?
public class MainActivity extends AppCompatActivity {
private Button scan_btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
scan_btn=(Button)findViewById(R.id.btnQr);
final Activity activity =this;
scan_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
IntentIntegrator intentIntegrator = new IntentIntegrator(activity);
intentIntegrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES);
intentIntegrator.setPrompt("Scan");
intentIntegrator.setCameraId(0);
intentIntegrator.setBeepEnabled(false);
intentIntegrator.setBarcodeImageEnabled(false);
intentIntegrator.initiateScan();
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (result != null){
if (result.getContents()==null){
Toast.makeText(this,"You cancelled scanning",Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(this,result.getContents(),Toast.LENGTH_LONG).show();
}
}
else {
super.onActivityResult(requestCode, resultCode, data);
}
}
}
这是我的第二个Activity。我想显示结果的地方。
public class DetailActivity extends AppCompatActivity {
private TextView qrResult;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
qrResult= findViewById(R.id.qrResult);
}
}
如果你愿意,我也可以 post 我的布局文件。谢谢。
您需要创建一个新的 Intent 对象,并使用 intent.putextra() 添加额外的数据。此方法可以将 String 对象作为参数。您需要为 string.Then 启动新的 activity 指定一个唯一键。例如
意图 i = 新意图(上下文,nextactivity.class)
i.putextra(“stringKey”,yourSstring)
开始活动(i)
然后,在第二个activity中,你需要获取启动那个activity的intent(使用getIntent),你可以在onCreate的时候使用它。
getIntent 函数 returns 启动新 activity 的意图对象。
当你有新的意图时,你可以得到你从旧的 activity 传递的额外字符串,用 intent.getStringExtra(“stringKey”)
这允许您在活动之间传递简单数据。确保使用相同的密钥。
您可以将主要活动中的数据放入意图中,然后从第二个 activity 中获取数据的意图。
例如:
在你的MainActivity.class
Intent intent = new Intent(MainActivity.this, DetailActivity.class);
intent.putExtra("result", "Your result text here");
startActivity(intent);
在你的DetailsActivity.class
中:
Intent intent = getIntent();
String result = intent.getStringExtra("result");
qrResult.setText(result);
您甚至可以通过 Intent 发送任何类型的对象。请google它了解更多信息。
这是我的 MainActivity.java,我想要另一个 activity 的文本视图中的结果?我怎样才能实现它?你能给我举个例子吗?
public class MainActivity extends AppCompatActivity {
private Button scan_btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
scan_btn=(Button)findViewById(R.id.btnQr);
final Activity activity =this;
scan_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
IntentIntegrator intentIntegrator = new IntentIntegrator(activity);
intentIntegrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES);
intentIntegrator.setPrompt("Scan");
intentIntegrator.setCameraId(0);
intentIntegrator.setBeepEnabled(false);
intentIntegrator.setBarcodeImageEnabled(false);
intentIntegrator.initiateScan();
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
if (result != null){
if (result.getContents()==null){
Toast.makeText(this,"You cancelled scanning",Toast.LENGTH_LONG).show();
}
else {
Toast.makeText(this,result.getContents(),Toast.LENGTH_LONG).show();
}
}
else {
super.onActivityResult(requestCode, resultCode, data);
}
}
}
这是我的第二个Activity。我想显示结果的地方。
public class DetailActivity extends AppCompatActivity {
private TextView qrResult;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_detail);
qrResult= findViewById(R.id.qrResult);
}
}
如果你愿意,我也可以 post 我的布局文件。谢谢。
您需要创建一个新的 Intent 对象,并使用 intent.putextra() 添加额外的数据。此方法可以将 String 对象作为参数。您需要为 string.Then 启动新的 activity 指定一个唯一键。例如 意图 i = 新意图(上下文,nextactivity.class) i.putextra(“stringKey”,yourSstring) 开始活动(i)
然后,在第二个activity中,你需要获取启动那个activity的intent(使用getIntent),你可以在onCreate的时候使用它。 getIntent 函数 returns 启动新 activity 的意图对象。 当你有新的意图时,你可以得到你从旧的 activity 传递的额外字符串,用 intent.getStringExtra(“stringKey”) 这允许您在活动之间传递简单数据。确保使用相同的密钥。
您可以将主要活动中的数据放入意图中,然后从第二个 activity 中获取数据的意图。 例如:
在你的MainActivity.class
Intent intent = new Intent(MainActivity.this, DetailActivity.class);
intent.putExtra("result", "Your result text here");
startActivity(intent);
在你的DetailsActivity.class
中:
Intent intent = getIntent();
String result = intent.getStringExtra("result");
qrResult.setText(result);
您甚至可以通过 Intent 发送任何类型的对象。请google它了解更多信息。