【问题标题】:AndroidX: can't resolve method findViewById (toolbar)AndroidX:无法解析方法 findViewById(工具栏)
【发布时间】:2019-11-09 22:45:42
【问题描述】:

我导入了 AndroidX 库和工具栏 findViewById 方法不再起作用。

BaseAppCompatActivity.java:

import androidx.coordinatorlayout.widget.CoordinatorLayout;
import com.google.android.material.navigation.NavigationView;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.widget.Toolbar;

FrameLayout lytContent;
    //protected FrameLayout leftDrawer;
    NavigationView leftDrawer;
    //  protected FrameLayout rightDrawer;
    DrawerLayout drawerLayout;
    ActionBarDrawerToggle mDrawerToggle;
    //protected  RelativeLayout lytContents;

final Handler mHandler = new Handler();

protected SwipeRefreshLayout swipeView;
protected CoordinatorLayout coordinatorLayout;
protected Toolbar toolbar;

private MenuItem menuProgress;
private View lytDrawer;
private View lytDrawerHeader;
private View lytProgress;
private ProgressBar progressBase;
private View lytMessage;
private CustomTextView txtMessage;
private ImageView ivMessage;

private ImageView ivUserDP;
private ProfileBean profileBean;
private CustomTextView txtName;
private CustomTextView txtPhone;
private CustomTextView txtEmail;


private boolean isDriverLocationUpdated;
toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);


        //leftDrawer = (FrameLayout) findViewById(R.id.leftDrawer);
        leftDrawer = (NavigationView) findViewById(R.id.navigation_view_base_appcompat);
        //  rightDrawer = (FrameLayout)findViewById(R.id.rightDrawer);
        drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout_appcompat);
        lytContent = (FrameLayout) findViewById(R.id.lyt_contents_appcompat);
        coordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinatorlayout_base_appcompat);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
//            toolbar.setPadding(0, App.getStatusBarHeight(getApplicationContext()), 0, 0);
            leftDrawer.setPadding(0, 0, 0, 0);
            getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
        }

getWindow 方法也不起作用。我使用的是 sdkVersion 28。

实现'androidx.legacy:legacy-support-v4:1.0.0'

实现'androidx.appcompat:appcompat:1.0.2'

实现'com.google.android.material:material:1.0.0'

实现'androidx.recyclerview:recyclerview:1.0.0'

实现'androidx.cardview:cardview:1.0.0'

【问题讨论】:

标签: android android-toolbar androidx findviewbyid


【解决方案1】:

您可以尝试导入此androidx.appcompat.app.AppCompatActivity 吗? 对于绑定视图,您必须在 onCreate 方法中进行绑定,或者您可以使用 butterKnife 库。

我通常会创建方法 bindView() 并将其放在方法 onCreate() 上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 2015-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多