【问题标题】:Android Studio does not resolve 'view'Android Studio 无法解析“视图”
【发布时间】:2021-04-18 13:01:29
【问题描述】:

最近我遇到了一个错误,尽管我的 gradle 和 import 中有所需的一切,但我无法解决。我尝试重新启动应用程序,重新运行它并更改导入,但没有任何改变。 Android Studio 无法解析符号“视图”,与变量有关。也许是我错过的东西。我不知道。

以下是我认为需要的导入:

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;
}

一些截图:

【问题讨论】:

    标签: java android view


    【解决方案1】:

    问题是您在不使用视图的情况下返回视图。 你必须有一个视图的参考才能使用它。 替换代码如下。

    @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;
    }
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 2018-01-28
      • 2015-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多