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

DemoActivity.java使用或覆盖已弃用的API

邢杰
2023-03-14

我在我的gradle控制台中收到以下错误。尝试寻找已弃用的API,但找不到它。提前感谢!!!

错误:DemoActivity.java使用或覆盖已弃用的API。注意:使用-Xlint重新编译:弃用以获取详细信息。

public class BaseActivity extends ActionBarActivity {
private static final String TAG = "DemoActivity";
DrawerLayout mDrawerlDrawerLayout;
FrameLayout actContent;
private LinearLayout linear;
private ActionBarDrawerToggle actionBarToggle;
private Toolbar toolbar;
private ImageView mImageView;
private int height;
private SlidingUpPanelLayout mSlidingUpPanelLayout;
private ListView drawerListView;
private ArrayAdapter<String> navigationDrawerAdapter;
private String[] drawerItem = {"Email", "Wink", "Favourite", "Match me", "About"};

    @Override
    public void setContentView(final int layoutResID) {
    // TODO Auto-generated method stub


    linear = (LinearLayout) getLayoutInflater().inflate(R.layout.base_activity, null);
    actContent = (FrameLayout) linear.findViewById(R.id.frame_container);
    mDrawerlDrawerLayout = (DrawerLayout) linear.findViewById(R.id.drawer_layout);
    // set the drawer layout as base_activity content view of Activity.


    toolbar = (Toolbar) linear.findViewById(R.id.main_toolbar);
    setSupportActionBar((Toolbar) linear.findViewById(R.id.main_toolbar));
    toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
        @Override
        public boolean onMenuItemClick(MenuItem item) {
            return true;
        }
    });
    // Inflate a menu to be displayed in the toolbar
    toolbar.inflateMenu(R.menu.demo);
    //toolbar.getBackground().setAlpha(0);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setHomeButtonEnabled(true);
    getSupportActionBar().setDisplayShowTitleEnabled(false);

    setContentView(linear);
    // add layout of BaseActivities inside framelayout.i.e. frame_container
    getLayoutInflater().inflate(layoutResID, actContent, true);

    initDrawerView();
    initDrawer();
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.demo, menu);

    return true;
}

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    return super.onPrepareOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    Log.e("Drawer", "clicked");
    if (actionBarToggle.onOptionsItemSelected(item)) {
        Log.e("Drawer item clicked", "clicked");
        return true;
    }

    if (item.getItemId() == android.R.id.home) {
        Log.e("Drawer item clicked item id", "clicked");
        try {
            if (mDrawerlDrawerLayout.isDrawerOpen(drawerListView)) {
                mDrawerlDrawerLayout.closeDrawer(drawerListView);
            } else {
                mDrawerlDrawerLayout.openDrawer(drawerListView);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return true;
    }
    switch (item.getItemId()) {
        case R.id.action_search: {
            return true;
        }
        case R.id.action_settings: {
            return true;
        }

    }
    return super.onOptionsItemSelected(item);
}

private void initDrawerView() {
    drawerListView = (ListView) findViewById(R.id.list_slidermenu);
    mDrawerlDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    navigationDrawerAdapter = new ArrayAdapter<String>(BaseActivity.this,   
android.R.layout.simple_list_item_1, drawerItem);
    drawerListView.setAdapter(navigationDrawerAdapter);
    drawerListView.setOnItemClickListener(new DrawerItemClickListener());
}

private void initDrawer() {
    actionBarToggle = new ActionBarDrawerToggle(BaseActivity.this, mDrawerlDrawerLayout, toolbar, 
R.string.open_drawer, R.string.close_drawer) {

        @Override
        public void onDrawerClosed(View drawerView) {
            super.onDrawerClosed(drawerView);

        }

        @Override
        public void onDrawerOpened(View drawerView) {
            super.onDrawerOpened(drawerView);
        }
    };
    mDrawerlDrawerLayout.setDrawerListener(actionBarToggle);
}

@Override
protected void onPostCreate(Bundle savedInstanceState) {
    super.onPostCreate(savedInstanceState);
    actionBarToggle.syncState();
}

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    actionBarToggle.onConfigurationChanged(newConfig);
}

private class DrawerItemClickListener implements ListView.OnItemClickListener {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        try {
            Log.e("Drawer item click", "click");
            mDrawerlDrawerLayout.closeDrawers();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        }
    }
}

共有2个答案

米丰
2023-03-14

尝试重新生成项目。如果仍然不起作用,请尝试链接 https://developer.android.com/reference/android/support/v4/app/ActionBarDrawerToggle.html。此问题基本上是由于旧版本的应用程序压缩库引起的。

章鸿光
2023-03-14

您可能正在使用较旧版本的appcompat库。你能展示这个类使用的导入语句吗?

基于更新版本的appcompat,使用

import android.support.v7.app.ActionBarDrawerToggle;

而不是

import android.support.v4.app.ActionBarDrawerToggle;

此外,在build.gradle中引用新版本的appcompat

dependencies {
    compile 'com.android.support:appcompat-v7:21.0.+'
}

有关弃用类的更多信息,请访问:https://developer.android.com/reference/android/support/v4/app/ActionBarDrawerToggle.html

 类似资料:
  • 在Flitter应用程序中集成Firebase消息服务,并在Flight中使用最新的<code>Firebase_messaging:^3.0.0 我在<code>build中添加了这些行。android部分中的gradle,仍然显示相同的错误。我从这里带走了裁判。 如何解决flutter的这个错误< code>-Xlint:deprecation。

  • 问题内容: 我刚刚下载了新的LWUIT 1.5,当我编译项目时,我在输出中看到了以下几行: 我使用Sun Java ME SDK 3.0 那么如何进行重新编译呢? 问题答案: 根据较旧的SO问题中的注释,“ NetBeans中的-Xlint在项目属性,运行或编译选项下设置”- Netbeans论坛上也有一个主题。他们说, 转到“项目属性”的“编译”部分。这是一个标记为“报告已弃用的API的使用”的

  • 首先,我是android开发新手,所以我不太擅长android......我正在创建一个rss阅读器,我正在使用asynaski创建了一个名为ReadRss的java类,但它显示了一个奇怪的错误...我正在使用最新版本的android Studio... ReadRss.java 当我编译它时,它会向我显示一个错误,例如 c:\ Users \ Shinto chakkiath \ Android

  • 我是Android的新手。我开始了一个新项目,并实现了介绍导航和应用程序抽屉屏幕。当我发布“APK”时,介绍滑块工作正常,“侧栏菜单”应用程序抽屉不工作,应用程序崩溃,。 格雷尔控制台有一条警告信息: 注意: E:\AndroidApps\GoTogether\app\src\main\java\com\softvision\gotogether\app\欢迎活动.java使用或覆盖已弃用的 AP

  • 我试图将我的项目升级到一些最新版本,但由于项目中的一些依赖项尚未更新,我无法获得空安全性。 我已经求助于sdk版本2.10,同时我更新了所有核心包,解决了所有突破性的更改。一些不推荐的更改(如FlatButton到TextButton,尚未解决)。 我在构建解决方案时遇到了几个问题,在咨询了一些旧的Stack帖子后,我拼凑了gradle文件更新,升级到Android Studio等... 但是,当

  • 我在最新的Android Studio上创建了一个全新的Android项目。我做的第一件事是将`realm'库添加到项目中,方法是将以下内容添加到gradle文件中: 如果我尝试编译,我会得到以下错误: Origine2:C:\users\usmaan.gradle\caches\caches\modules-2\files-2.1\io.realm\realm-android\0.80.3\79