2017-06-19 37 views
0

我想從這裏發送字符串:獲取字符串另一類

@Override 
public void onBindViewHolder(ViewHolder hold, int position) { 
    Glide.with(context) 
    final String id=list_data.get(position).get("id"); //This is my string 
} 

到這裏:

private void hapus(){ 
    class cari extends AsyncTask<String,Void,String> { 
     .... 

     KEY_ID = ??? //here 

     .... 
    } 

} 

全碼:

AdapterList.java

galery.java

即時對不起,不能在這裏粘貼完整的代碼,因爲我在這裏粘貼了相同的代碼

+0

你可以在android中使用界面 –

+0

即時通訊。但我會盡力找到google中的界面。坦克爲您的評論 –

+0

檢查我的答案... –

回答

0

讓onBindViewHolder返回字符串ID。

+0

這是什麼意思? return Strig id; –

+0

是的。將ID分配給公共變量也起作用。 – RoundSauce2

+0

我有一個錯誤:不是一個聲明 –

0

試試這個讓你的字符串公共靜態的,所以你可以在你的應用程序

克里特島一類這樣的

public class Utils{ 
public static String final_id=""; 
} 

在任何地方使用它現在訪問字符串這樣

@Override 
public void onBindViewHolder(ViewHolder hold, int position) { 
    Glide.with(context) 
    Utils.final_id=list_data.get(position).get("id"); //This is my string 
} 

你可以用它來檢索你的String數據像這樣

private void hapus(){ 
class cari extends AsyncTask<String,Void,String> { 
String KEY_ID = Utils.final_id; 
} 

} 
+0

我有錯誤:(110,16)錯誤:預計 –

+0

@Iqbal在此處粘貼您的錯誤 –

+0

這是我的錯誤代碼錯誤:(31,30)錯誤:內部類中的非法靜態聲明AdapterList.Utils 只有在常量變量聲明中允許修飾符'static' –

0

從ViewHolder類的onBindViewHolder()方法調用異步任務不是一種可接受的方法,因爲對於每個項目在Recycler ListView中循環使用,Asyn Task會一次又一次地被調用。 (即使在滾動期間)。

更改邏輯(或)使用不同的方式來處理場景。

0

要麼你可以使用Nilesh的答案,或者你可以使用一個構造函數來初始化你的String。

@Override 
public void onBindViewHolder(ViewHolder hold, int position) { 
    Glide.with(context) 
    final String id=list_data.get(position).get("id"); //This is my string 
    new yourClass(id); 
} 

然後你的類

private String id; 

public yourClass(){} //default constructor 

public yourClass(String id){ 
//Now you can use this id wherever you want to use 
this.id = id; 
} 

使用構造函數中,你可以發送多的事情,如果你想和你的類初始化它們,並根據您的要求使用它們。 希望它有幫助!

相關問題