当前位置: 首页 > 知识库问答 >
问题:

Android Studio不解析“视图”

周培
2023-03-14

最近我得到一个错误,我不能解决,尽管有所有需要在我的梯度和进口。我试着重新启动应用程序,重新运行它,并更改导入,但没有任何改变。Android studio无法解析符号'view',是关于变量的。也许是我错过的东西。我不知道.

以下是我认为需要的进口:

import android.view.View;
import android.view.ViewGroup;

出现错误的代码:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    return inflater.inflate(R.layout.fragment_running, container, false);

    //Initialize views
    stepText = (TextView) view.findViewById(R.id.stepText);
    timeText = (TextView) view.findViewById(R.id.timeText);
    speedText = (TextView) view.findViewById(R.id.speedText);
    distanceText = (TextView) view.findViewById(R.id.distanceText);
    orientationText = (TextView) view.findViewById(R.id.orientationText);
    achievedText = (TextView) view.findViewById(R.id.achievedText);
    setViewDefaultValues();

    //Step counting and other calculations start when user presses "start" button
    final Button startButton = (Button) view.findViewById(R.id.startButton);
    if (startButton != null) {
        startButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (!active) {
                    startButton.setText(R.string.pause);
                    startButton.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.gray2));
                    sensorManager.registerListener(RunningFragment.this, stepDetectorSensor, SensorManager.SENSOR_DELAY_NORMAL);
                    sensorManager.registerListener(RunningFragment.this, accelerometer, SensorManager.SENSOR_DELAY_NORMAL);
                    sensorManager.registerListener(RunningFragment.this, magnetometer, SensorManager.SENSOR_DELAY_NORMAL);
                    startTime = SystemClock.uptimeMillis();
                    handler.postDelayed(timerRunnable, 0);
                    active = true;

                } else {
                    startButton.setText(R.string.start);
                    startButton.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.gray2));
                    sensorManager.unregisterListener(RunningFragment.this, stepDetectorSensor);
                    sensorManager.unregisterListener(RunningFragment.this, accelerometer);
                    sensorManager.unregisterListener(RunningFragment.this, magnetometer);
                    elapsedTime += timeInMilliseconds;
                    handler.removeCallbacks(timerRunnable);
                    active = false;
                }
            }
        });
    }

//Reset all calculations to 0
Button resetButton = (Button) view.findViewById(R.id.resetButton);
    resetButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        stepCount = 0;
        distance = 0;
        elapsedTime = 0;
        setViewDefaultValues();
    }
});

//Opens SettingsActivity where user can set the step record of the day
Button settingsButton = (Button) view.findViewById(R.id.settingsButton);
    settingsButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Intent intent = new Intent(getActivity(), SettingsActivity.class);
        startActivity(intent);
    }
});

    return view;
}

部分截图:

共有1个答案

长孙瑞
2023-03-14

问题是您没有使用视图就返回视图。并且必须有视图的引用才能使用它。按如下所示替换代码。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_running, container, false);
 //Initialize views
    stepText = (TextView) view.findViewById(R.id.stepText);
    timeText = (TextView) view.findViewById(R.id.timeText);
    speedText = (TextView) view.findViewById(R.id.speedText);
    distanceText = (TextView) view.findViewById(R.id.distanceText);
    orientationText = (TextView) view.findViewById(R.id.orientationText);
    achievedText = (TextView) view.findViewById(R.id.achievedText);
    setViewDefaultValues();

    //Step counting and other calculations start when user presses "start" button
    final Button startButton = (Button) view.findViewById(R.id.startButton);
    if (startButton != null) {
        startButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (!active) {
                    startButton.setText(R.string.pause);
                    startButton.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.gray2));
                    sensorManager.registerListener(RunningFragment.this, stepDetectorSensor, SensorManager.SENSOR_DELAY_NORMAL);
                    sensorManager.registerListener(RunningFragment.this, accelerometer, SensorManager.SENSOR_DELAY_NORMAL);
                    sensorManager.registerListener(RunningFragment.this, magnetometer, SensorManager.SENSOR_DELAY_NORMAL);
                    startTime = SystemClock.uptimeMillis();
                    handler.postDelayed(timerRunnable, 0);
                    active = true;

                } else {
                    startButton.setText(R.string.start);
                    startButton.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.gray2));
                    sensorManager.unregisterListener(RunningFragment.this, stepDetectorSensor);
                    sensorManager.unregisterListener(RunningFragment.this, accelerometer);
                    sensorManager.unregisterListener(RunningFragment.this, magnetometer);
                    elapsedTime += timeInMilliseconds;
                    handler.removeCallbacks(timerRunnable);
                    active = false;
                }
            }
        });
return view;
}

 类似资料:
  • 我正在使用android Studio 0.8.2并希望将数据从文件读取到数组,但我得到了这个错误:无法解析符号FileUtils。错误在这一行: 我已经包括了commons-io-2.4。应用程序中的jar文件- 如果你需要更多信息,请告诉我。

  • 驴你看,我要添加截取到我的应用程序添加这行代码com.mcxioke。截取:库aar:1.0.0建立。gradle文件 我也试着添加改装。但它给出了相同类型的错误:未能解决:bla bla bla。 所以我认为在我的情况下gradle不能同步任何其他库不同于com.android....... 我也尝试将这行代码添加到我的build.gradle。但是什么都没有改变 请指教 编辑:添加注释后生成。

  • 所有web应用的MVC框架都提供了视图相关的支持。Spring提供了一些视图解析器,它们让你能够在浏览器中渲染模型,并支持你自由选用适合的视图技术而不必与框架绑定到一起。Spring原生支持JSP视图技术、Velocity模板技术和XSLT视图等。你可以阅读文档的第22章 视图技术一章,里面讨论了如何集成并使用许多独立的视图技术。 有两个接口在Spring处理视图相关事宜时至关重要,分别是视图解析

  • MVC提供的配置简化了视图解析器的注册工作。 以下的代码展示了在MVC Java编程配置下,如何为内容协商配置FreeMarker HTML模板和Jackson作为JSON数据的默认视图解析: @Configuration @EnableWebMvc public class WebConfig extends WebMvcConfigurerAdapter { @Override

  • 14.5. 视图与视图解析 所有web应用的MVC框架都有它们处理视图的方式。Spring提供了视图解析器供你在浏览器显示模型数据,而不必被束缚在特定的视图技术上。Spring内置了对JSP,Velocity模版和XSLT视图的支持。 第 15 章 集成视图技术这一章详细说明了Spring如何与不同的视图技术集成。 ViewResolver和View是Spring的视图处理方式中特别重要的两个接口

  • 这节来聊 viewport (视口), viewport 就是浏览器可以用来显示页面内容的屏幕区域。 桌面上视口宽度等于浏览器宽度,但在手机上有所不同。这里涉及三个视口: 布局视口:手机上为了容纳为桌面浏览器设计的网站,默认布局视口宽度远大于屏幕宽度,为了让用户看到网站全貌,它会缩小网站。 视觉视口:用户正在看到的网站的区域,与设备屏幕一样宽。 理想视口:当网站是为手机准备的时候使用。使用meta