使用 Navigation Drawer 获取不兼容的类型
Getting Incompitable Types with the Navigation Drawer
我正在尝试在 Android Studio 中创建导航抽屉。
我的代码如下:
public class NavigationActivity extends AppCompatActivity {
@SuppressWarnings("deprecation")
private ActionBarDrawerToggle mDrawerToggle;
private DrawerLayout mDrawerLayout;
private ListView mList;
private ArrayList<com.zaptech.webdata.model.MenuItem> listMenu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_navigation);
findViews();
Toolbar mTool = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mTool);
getSupportActionBar(). setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
//noinspection deprecation
mDrawerToggle = new ActionBarDrawerToggle(NavigationActivity.this, mDrawerLayout, R.drawable.ic_drawer, R.string.app_name,
R.string.app_name) {
public void onDrawerClosed(View view) {
invalidateOptionsMenu();
}
public void onDrawerOpened(View drawerView) {
invalidateOptionsMenu();
}
};
mDrawerLayout.setDrawerListener(mDrawerToggle);
//mList.setAdapter(new CustomAdapter(NavigationActivity.this,));
//mList.setOnItemClickListener(this);
FloatingActionButton floatingActionButton = (FloatingActionButton) findViewById(R.id.fab);
floatingActionButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//noinspection SpellCheckingInspection
Snackbar.make(view, "Developed By Bandish", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_navigation, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
return id == R.id.action_settings || super.onOptionsItemSelected(item);
}
private void findViews() {
mDrawerToggle = (DrawerLayout) findViewById(R.id.drawer_layout);
mList = (ListView) findViewById(R.id.list_slidermenu);
}
当我导入以下内容时:
导入android.support.v4.app.ActionBarDrawerToggle;
导入 android.support.v4.widget.DrawerLayout;
我收到以下错误:
Required import android.support.v4.widget.DrawerLayout;
Found import android.support.v4.app.ActionBarDrawerToggle;
有人知道问题出在哪里吗?
谢谢!
我的朋友你已经声明了
private DrawerLayout mDrawerToggle;
您应该使用 ActionBarDrawerToggle
你对抽屉布局的引用是错误的
private void findViews() {
mDrawerToggle = (DrawerLayout) findViewById(R.id.drawer_layout);
应该是
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
我正在尝试在 Android Studio 中创建导航抽屉。 我的代码如下:
public class NavigationActivity extends AppCompatActivity {
@SuppressWarnings("deprecation")
private ActionBarDrawerToggle mDrawerToggle;
private DrawerLayout mDrawerLayout;
private ListView mList;
private ArrayList<com.zaptech.webdata.model.MenuItem> listMenu;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_navigation);
findViews();
Toolbar mTool = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(mTool);
getSupportActionBar(). setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
//noinspection deprecation
mDrawerToggle = new ActionBarDrawerToggle(NavigationActivity.this, mDrawerLayout, R.drawable.ic_drawer, R.string.app_name,
R.string.app_name) {
public void onDrawerClosed(View view) {
invalidateOptionsMenu();
}
public void onDrawerOpened(View drawerView) {
invalidateOptionsMenu();
}
};
mDrawerLayout.setDrawerListener(mDrawerToggle);
//mList.setAdapter(new CustomAdapter(NavigationActivity.this,));
//mList.setOnItemClickListener(this);
FloatingActionButton floatingActionButton = (FloatingActionButton) findViewById(R.id.fab);
floatingActionButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//noinspection SpellCheckingInspection
Snackbar.make(view, "Developed By Bandish", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_navigation, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
return id == R.id.action_settings || super.onOptionsItemSelected(item);
}
private void findViews() {
mDrawerToggle = (DrawerLayout) findViewById(R.id.drawer_layout);
mList = (ListView) findViewById(R.id.list_slidermenu);
}
当我导入以下内容时:
导入android.support.v4.app.ActionBarDrawerToggle; 导入 android.support.v4.widget.DrawerLayout;
我收到以下错误:
Required import android.support.v4.widget.DrawerLayout;
Found import android.support.v4.app.ActionBarDrawerToggle;
有人知道问题出在哪里吗?
谢谢!
我的朋友你已经声明了
private DrawerLayout mDrawerToggle;
您应该使用 ActionBarDrawerToggle
你对抽屉布局的引用是错误的
private void findViews() {
mDrawerToggle = (DrawerLayout) findViewById(R.id.drawer_layout);
应该是
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);