2013-07-17 145 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等檢索它是你需要