java - rootview.findViewById() 在 fragment 文件中不起作用

标签 java android android-fragments android-studio

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,默认情况下,它会为 fragment 构建一个单独的 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/

相关文章:

java - 给定一个 IP 地址列表,你如何找到最小值、最大值?

java - 保护用户输入(尚未提交)免于 session 超时的最佳方法是什么?

java - 我该如何处理/tmp/jar_cache#######.tmp?

android - RuntimeException :ClassNotFoundException android. arch.lifecycle.ProcessLifecycleOwnerInitializer

android - 两个 Activity 还是两个 fragment ?

android - Android 中哪一种更好的设计方法 - 多个 Activity/Fragments

java - 如何同时使用具有加密(ssl)和xinetd的JRMP(RMI)?

token "int"上的 Android R.java 语法错误,此 token 后应为 VariableDeclaratorId

javascript - navigator.serviceWorker 在移动版 Chrome 和移动版 Firefox 上始终未定义

java - 通过按钮单击将数据从 fragment 传递到 fragment