package com.example.mayank.sunshine;

import android.support.v4.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * A placeholder fragment containing a simple view.
 */
public class MainActivityFragment extends Fragment {

    private ArrayAdapter<String> mForecastAdapter;

    public MainActivityFragment() {
    }

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

        String[] forecastArray = {
            "Today - Sunny - 88/63",
            "Tomorrow - Foggy - 70/40",
            "Weds - Cloudy - 727/63",
            "Thurs - Asteroids - 75/65",
            "Fri - Heavy Rain - 65/56",
            "Sat - HELP TRAPPED IN WEATHERSTATION - 60/51",
            "Sun - Sunny - 80/68"
        };

        List<String> weekForecast = new ArrayList<String>(Arrays.asList(forecastArray));

        mForecastAdapter = new ArrayAdapter<String>(
            getActivity(),
            R.layout.list_item_forecast,
            R.id.list_item_forecast_textview,
            weekForecast);

        ListView listView = (ListView)rootview.findViewById(R.id.listview_forecast);

        listView.setAdapter(mForecastAdapter);

        return inflater.inflate(R.layout.fragment_main, container, false);
    }
}


运行项目显示编译错误“找不到符号变量rootview”。我是否需要导入任何内容以运行代码?

附言我使用的是Android Studio 1.4,但默认情况下,它会为片段构建单独的Java文件。

最佳答案

在您的onCreateView()中,您必须inflate您的rootView,您可以这样->

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

....
return rootView;

关于java - rootview.findViewById()在 fragment 文件中不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33029845/

10-11 15:06