Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在两种不同的方法中使用变量_Android - Fatal编程技术网

Android 在两种不同的方法中使用变量

Android 在两种不同的方法中使用变量,android,Android,我试图在我的android应用程序中使用jsoup库,我想在description类中获取str1的值,并在MyAdapter类中将其用作items.addnew Itemstr1,R.drawable.flag_one;我不明白,非常感谢您的帮助 public class HomeFragment extends Fragment { // URL Address String url = "http://www.livescore.com"; public HomeFragment(){

我试图在我的android应用程序中使用jsoup库,我想在description类中获取str1的值,并在MyAdapter类中将其用作items.addnew Itemstr1,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;
    }
}

能否在公共类HomeFragment extends Fragment的正下方的顶部声明静态字符串str1=?然后在onPostExecute方法中:


其思想是,如果在顶部声明字符串,那么它将在整个HomeFragment类中可见。

从哪里获得异常?您能提供更多信息吗?当我运行代码时,它会拾取第一个str1,因此在onPostExecute方法中没有显示设置适配器的任何内容。
@Override
protected void onPostExecute(Void result){
    // Set description into TextView
    str1 = desc;
}