Android Studio 项目找不到 android.view.View。

3
我的Android项目显示它无法找到android.view.View类,但它仍然被编译并在模拟器和设备上运行。
android.view.View外,该包中的所有其他类都可访问,例如

不可用 ==> import android.view.View; 可用 => import android.view.ViewGroup;

我尝试了很多方法,如清理、重建、重启和使缓存失效并重启,但这个问题没有解决。

enter image description here

请检查代码并帮我修复这个问题。

import android.view.View;

public class AppSettingsActivity extends BaseActivity implements View.OnClickListener, AdListener {

    //Other objects
    private static final String TAG = AppSettingsActivity.class.getSimpleName();

    //Data objects

    //    //Design
    private LinearLayout banner_container;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_settings);
        initViews();
    }

    private void initViews() {


        //Actionbar init
        //Action bar
        TextView idTvTitle = findViewById(R.id.idTvTitle);

        findViewById(R.id.idTvSelectDefaultActivity).setOnClickListener(this);
        findViewById(R.id.idTvSelectAppLang).setOnClickListener(this);
        findViewById(R.id.idIvBack).setOnClickListener(this);
        findViewById(R.id.idTvCalcSetting).setOnClickListener(this);

        //Set data
        //Set Actionbar Title
        idTvTitle.setText(R.string.app_settings_text);

        //Load Facebook ads
        banner_container = findViewById(R.id.banner_container);
        if (fbAdView != null) {
            banner_container.addView(fbAdView);
            fbAdView.loadAd();
            fbAdView.setAdListener(this);
            logs.e(TAG, "Face book load add called....");
        }

        int selectedLanguage=SessionManagement.getIntValue(AppSettingsActivity.this, AppConstant.SELECTED_LANG, AppConstant.INT_ONE);
        int selectedScreen=SessionManagement.getIntValue(AppSettingsActivity.this, AppConstant.DEFAULT_SCREEN_INDEX, AppConstant.INT_ONE);
        String[] languages = getResources().getStringArray(R.array.language);
        String[] screens = getResources().getStringArray(R.array.screens);

        ((TextView)findViewById(R.id.idTvSelectDefaultActivity)).setText(screens[selectedScreen]);
        ((TextView)findViewById(R.id.idTvSelectAppLang)).setText(languages[selectedLanguage]);
    }

请添加一些更多的代码到你正在尝试修复的类中,以便更好地理解。 - touhid udoy
你好@Touhidul,我添加了更多的代码,以便让你更好地理解情况。 - kamlesh gorasiya
我已经审查了代码,但没有发现任何导致此问题的原因。这个错误很奇怪。如果还没有迁移到AndroidX,你可以尝试一下,但这只是瞎猜。 - touhid udoy
它也发生在版本4.1.3(2021年3月10日构建)中。 - yW0K5o
我安装了存档版本的 Android Studio Arctic Fox (2020.3.1) Canary 13,并且它开始工作了。https://developer.android.com/studio/archive - yW0K5o
1个回答

0

我在回答我的问题。

我简单地卸载了Android Studio并重新安装了它。 我之前的Android Studio正在运行3.5版本(最新版本),而全新安装的Android Studio版本也是3.5,因此它们之间没有版本差异。 但是,当我重新安装AS时,不知道为什么问题得到了解决。

经过半个小时的搜索,我找不到可以解决我的问题的解决方案。 然后我将相同的代码传递给其他电脑,在那台电脑上它能够正常工作。

所以这是最终结论,源代码没有问题。
然后第二个嫌疑人就是Android Studio

我卸载了Android Studio并重新安装了它,花了我1个小时来设置和使代码可用,但它节省了30GB的硬盘空间,所以这是值得的。

但是,Android Studio仍然非常糟糕地管理SDK和构建工具。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接