2014-06-23 38 views
0

我試圖在我的android應用程序中使用jsoup庫,並且我想要在描述類中獲取str1的值,並在MyAdapter類中將它用作items.add(new Item(str1,R .drawable.flag_one));我無法弄清楚,任何幫助,高度讚賞在兩種不同的方法中使用變量

public class HomeFragment extends Fragment { 

// URL Address 
String url = "http://www.livescore.com"; 

public HomeFragment(){} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 

    final View rootView = inflater.inflate(R.layout.fragment_home, container, false); 

    getOverFlowMenu(); 

    GridView gridView = (GridView)rootView.findViewById(R.id.gridview); 
    gridView.setAdapter(new MyAdapter(rootView.getContext())); 

    new Description(); 

    return rootView; 

} 

private void getOverFlowMenu() { 

} 

//Description async task 
class Description extends AsyncTask<Void, Void, Void>{ 
    String desc; 
    @Override 
    protected Void doInBackground(Void... voids) { 
     try{ 
      // Connect to the web site 
      Document document = Jsoup.connect(url).get(); 

      Element content = document 
        .body().getElementsByClass("kubrick-info__title").first(); 
      // Locate the content attribute 
      desc = content.text(); 

     }catch (IOException e){ 
      e.printStackTrace(); 
     } 
     return null; 
    } 
    @Override 
    protected void onPostExecute(Void result){ 
     // Set description into TextView 
     String str1 = desc; 
    } 
} 

private class MyAdapter extends BaseAdapter 
{ 
    private List<Item> items = new ArrayList<Item>(); 
    private LayoutInflater inflater; 

    public MyAdapter(Context context) 
    { 
     inflater = LayoutInflater.from(context); 

     items.add(new Item(str1, R.drawable.flag_one)); 
     items.add(new Item("teams", R.drawable.flag_two)); 
    } 

    @Override 
    public int getCount() { 
     return items.size(); 
    } 

    @Override 
    public Object getItem(int i) 
    { 
     return items.get(i); 
    } 

    @Override 
    public long getItemId(int i) 
    { 
     return items.get(i).drawableId; 
    } 

}

回答

0

你能在上面聲明static String str1 = "",右下public class HomeFragment extends Fragment?然後在您的onPostExecute方法:

@Override 
protected void onPostExecute(Void result){ 
    // Set description into TextView 
    str1 = desc; 
} 

的想法是,如果它的字符串在頂部宣佈,它將在整個HomeFragment類是可見的。

+0

我得到一個空指針異常,當我使用該方法 – Richmahnn

+0

你在哪裏得到異常?你能提供更多的信息嗎? – RogueBaneling

+0

當我運行代碼時,它將拾取第一個str1,因此不會顯示任何內容 – Richmahnn

相關問題