में AsyncTask को लागू करें मेरे पास एक ऐसी गतिविधि है जो एक सूची के रूप में जेसन डेटा आउटपुट करती है। लेकिन अब मैं इसे एक टुकड़े में लागू करना चाहता हूं। इस खंड में मैं इसे ग्रिडव्यू के रूप में देखना चाहता हूं। और दोनों फाइलें ठीक काम करती हैं। लेकिन जब मैंने AsyncTask को लागू करने का प्रयास किया तो मुझे कई रेडफ्लैग पहुंचने योग्य कोड के रूप में प्राप्त नहीं हुआ। क्या कोई मेरी मदद कर सकता है कृपया?फ्रैगमेंट एंड्रॉइड
संपादित: न्यू
public class SalesFragment extends Fragment {
GridView gridView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View gv = inflater.inflate(R.layout.hot_sales, null);
gridView = (GridView) gv.findViewById(R.id.grid_view);
bindGridview();
return gv;
}
public void bindGridview() {
new MyAsyncTask(getActivity(),gridView).execute("");
}
class MyAsyncTask extends AsyncTask<String, String, String> {
GridView mGridView;
Activity mContext;
Response response;
public MyAsyncTask(Activity context,GridView gview) {
this.mGridView=gview;
this.mContext=context;
}
protected String doInBackground(String... params) {
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/Android/data/sample.txt");
if(file.exists()) {
try{
Reader inputStreamReader = new InputStreamReader(new FileInputStream(file));
Gson gson = new Gson();
this.response = gson.fromJson(inputStreamReader, Response.class);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (@SuppressWarnings("hiding") IOException e){
e.printStackTrace();
}
}else{
System.out.println("Error");
}
return null;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
//List<HashMap<String,String>> aList = new ArrayList<HashMap<String,String>>();
for(Sales sales : this.response.sales){
HashMap<String, String> hm = new HashMap<String,String>();
if (sales.getCategories1().contains("12")){
//hm.put("sale_title", "" + sales.getShort_title());
for(Shop shop : this.response.shops){
String image_file = new String(Environment.getExternalStorageDirectory().getAbsolutePath()
+ "/images/" + shop.getImage());
if(shop.getId().equals(sales.getShop_id())){
hm.put("shop_image", image_file);
System.out.println(shop_image);
}
}
if(hm.size()>0){
gridView.setAdapter(new ImageAdapter(MainActivity.this,R.layout.grid_layout , imgArray, titleArray));
}
}
}
}
}
}
कैसे ऊपर छवि पर gridview में छवियों को कॉल करने के लिए? कृपया मदद करे।
से डेटा सेट करें और मूल्य प्राप्त करें कुछ कोड पोस्ट करें? किसी भी समस्या का कारण यह हो सकता है। – blaffie
यहां अपना कार्यान्वित कोड पोस्ट करें ............ – Piyush
@ पियुष गुप्ता और ब्लैफी: कोड अब जोड़ा गया। मैं टुकड़े में गतिविधि के रूप में एक ही काम करना चाहता हूँ। – Kabe