2016-03-02 145 views
0

在片段內onCreateView無法解析方法 'putExtra(android.os.bundle)'

putExtra(dataBundle); 

給出

無法解析方法 'putExtra(android.os.bundle)' 錯誤

putExtra("id", id_To_Search); 

工作正常。我想發送dataBunle指導我缺少什麼。

@Override 
      public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) { 
       int id_To_Search = position + 1; 
      Bundle dataBundle = new Bundle(); 
      dataBundle.putInt("id", id_To_Search); 

      Intent intent = new Intent(getActivity(), DetailActivity.class).putExtra(dataBundle); 
      startActivity(intent); 
     } 
+0

哪裏錯誤?當你在一個意圖中捆綁或試圖獲得它? – Xjasz

+0

@jasz無法解析方法'putExtra(android.os.bundle)' –

+0

你需要這樣做putExtra(「id」,id_To_Search); – Xjasz

回答

5

您的錯誤是:

方法名是putExtras ....你缺少一個小號

務必:

Intent intent = new Intent(getActivity(), DetailActivity.class).putExtras(dataBundle); 

又如:

Intent mIntent = new Intent(this, Example.class); 
Bundle mBundle = new Bundle(); 
mBundle.putString(key, value); 
mIntent.putExtras(mBundle); 
+0

我想用我的意圖發送包。我知道這在它的作品 –

+0

您錯過了一個s,方法名稱是putExtras,與s在最後,沒有額外的....我更新了我的答案,給一個嘗試,請讓我知道... –

1

putExtra()不返回意向實例。因此,嘗試這個..

Intent intent = new Intent(getActivity(), DetailActivity.class); 
intent.putExtra(dataBundle); 
startActivity(intent); 

但你可以發送該整數如下...

發送方:

Intent myIntent = new Intent(getActivity(), DetailActivity.class); 
myIntent.putExtra("id", id_To_Search); 
startActivity(myIntent); 

接收側:

Intent mIntent = getIntent(); 
int intValue = mIntent.getIntExtra("id", 0); 
+0

試過它同樣的問題持續存在 –

+0

你正在做錯誤的方式...我的意思是,如果你只是想傳遞一個整數到另一個活動,那麼你爲什麼使用Bundle。你可以直接通過intent傳遞整數。 – Khan

+0

看到我編輯的答案,希望它會幫助你。 – Khan