2017-06-19 38 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; 
} 

使用构造函数中,你可以发送多的事情,如果你想和你的类初始化它们,并根据您的要求使用它们。 希望它有帮助!

相关问题