Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android从另一个类获取数据_Android - Fatal编程技术网

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

我正在开始使用Android。我想从另一个类获取数据。我写了一些代码,但不起作用。请帮帮我

第一项活动:

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;