2013-07-17 108 views
0

我正在开始使用Android。我想从另一个班级获取数据。我编写了一些代码,但他们没有工作。请帮帮我。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"); 
    } 
+1

看看http://stackoverflow.com/questions/4233873/how-to-get-extra-data-from-intent-in-android。请在提问前查询。 –

+1

“bcode”的数据类型是什么? – DynamicMind

+0

@geet我已阅读关于此主题的问题和答案,但他们没有解决我的问题。 – Adaichi

回答

0

在第二个活动,删除所有代码得到的意图的数据,并尝试这个

dContents = getIntent().getStringExtra("data"); 

我假设数据是字符串。

+0

@Adaichi我认为你传递null值这就是你为什么没有收到任何东西。首先检查你在FirstActivity传递的是什么 – GoCrazy

+0

我检查过这个。但没有改变。 – Adaichi

+0

你是什么意思没有改变?第一次活动传递的价值是多少? – GoCrazy

0

尝试

dContents=getIntent().getStringExtra("data"); 

,而不是

Bundle extra=getIntent().getExtras(); 
    { 
    dContents=extra.getString("data"); 
    } 

希望这有助于。

+0

我认为这两个代码都是一样的。 getStringExtra(“data”)与extra.getString(“data”)做同样的事情 – oks16

+0

对不起,它没有工作。 – Adaichi

0

在你的二级文件中做到这一点。

Intent i = getIntent(); 

String str = i.getExtra("data"); 
0

这是合作,我

第一个活动(组数据,并开始活动)

  String shocode="0003"; 
      String shopname="CCT"; 
      Intent i = new Intent(getApplicationContext(),Frame_unproductuv.class);  
        i.putExtra("shopcode", shocode); 
        i.putExtra("shopname", shopname); 
        startActivity(i); 

次活动(获取数据)

   Intent intent = getIntent(); 
       Bundle b = intent.getExtras(); 
       route_name = b.getString("shopname"); 
0

尝试:

// 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(); 
} 

我相信,如果你使用捆绑检索你必须使用getStringExtra()的字符串,如果你使用意向检索您使用的getString数据()。

0

为什么不将数据作为一个字符串保存在您的第一类,然后简单地从你的第二个

String shopname = "enteredshopname"; 

然后从第二类

String getShopName = MainActiviy.shopname; 

那么你可以做任何的setText等检索它是你需要