Android从另一个类获取数据
我正在开始使用Android。我想从另一个类获取数据。我写了一些代码,但不起作用。请帮帮我 第一项活动:Android从另一个类获取数据,android,Android,我正在开始使用Android。我想从另一个类获取数据。我写了一些代码,但不起作用。请帮帮我 第一项活动: Button b1=(Button) findViewById(R.id.search); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { Intent a=new Intent(CActivi
Button b1=(Button) findViewById(R.id.search);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
Intent a=new Intent(CActivity.this,Db.class);
a.putExtra("data",bcode);
startActivity(a);
}});
第二项活动:
Bundle extra=getIntent().getExtras();
{
dContents=extra.getString("data");
}
在第二个活动中,删除所有代码以从intent获取数据,然后尝试此操作
dContents = getIntent().getStringExtra("data");
我假设数据是字符串。试试看
dContents=getIntent().getStringExtra("data");
而不是
Bundle extra=getIntent().getExtras();
{
dContents=extra.getString("data");
}
希望这能有所帮助。在第二类文件中执行此操作
Intent i = getIntent();
String str = i.getExtra("data");
这对我很有用 第一个活动(设置数据和启动活动) 第二个活动(获取数据) 尝试:
我相信如果您使用Bundle来检索字符串,那么您必须使用getStringExtra(),如果您使用Intent来检索数据,那么您可以使用getString()。为什么不在第一个类中将数据保存为字符串,然后从第二个类中检索它呢
String shopname = "enteredshopname";
然后从你的第二节课开始
String getShopName = MainActiviy.shopname;
然后,您可以执行需要查看的任何setText等操作。请先搜索再提问。“bcode”的数据类型是什么?@geet我已经阅读了有关此主题的问题和答案,但它们没有解决我的问题。@bcode的DynamicMind数据类型是String。我猜bcode必须为null。你放的就是你得到的。我认为这两种代码是一样的。getStringExtra(“数据”)与extra的功能相同。getStringExtra(“数据”)抱歉,它不起作用。@Adaichi我认为您传递的是空值,这就是您没有收到任何内容的原因。首先检查你传入的内容我已经检查过了。但是没有变化,你说没有变化是什么意思?您在第一个活动中传递的值是多少?
// store data to be pass to next activity
Intent mIntent = new Intent(this, SecondActivity.class);
mIntent.putExtra("key", yourString);
startActivity(mIntent);
// extract data from previous activity
if (getIntent() != null) {
String mString = getIntent().getExtras().getString("key");
// do what you going to do with string.
} else {
Toast.makeText(getApplicationContext(), "getIntent() = null", Toast.LENGTH_LONG).show();
}
String shopname = "enteredshopname";
String getShopName = MainActiviy.shopname;