Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/217.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 导航抽屉碎片图标不';不显示_Java_Android_Android Fragments_Navigation Drawer - Fatal编程技术网

Java 导航抽屉碎片图标不';不显示

Java 导航抽屉碎片图标不';不显示,java,android,android-fragments,navigation-drawer,Java,Android,Android Fragments,Navigation Drawer,我正在做一个导航抽屉项目,被困在碎片的图标中。项目运行成功,但与该特定片段关联的图标没有显示,而是所有片段都有第一个“主”图标。我真的被这件事缠住了。以下PFA屏幕图像和程序代码: MainActivity.java package com.navafatech.navadrawer; //导入android.app.FragmentManager; //导入android.app.Fragment; 导入android.content.res.Configuration; 导入android

我正在做一个导航抽屉项目,被困在碎片的图标中。项目运行成功,但与该特定片段关联的图标没有显示,而是所有片段都有第一个“主”图标。我真的被这件事缠住了。以下PFA屏幕图像和程序代码:

MainActivity.java

package com.navafatech.navadrawer;
//导入android.app.FragmentManager;
//导入android.app.Fragment;
导入android.content.res.Configuration;
导入android.content.res.TypedArray;
导入android.graphics.drawable.drawable;
导入android.os.Bundle;
导入android.support.v4.app.Fragment;
//导入android.support.v4.app.FragmentActivity;
导入android.support.v4.widget.DrawerLayout;
//导入android.support.v4.app.ActionBarDrawerToggle;
导入android.support.v7.app.AppActivity;
导入android.util.Log;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.ListView;
导入android.support.v7.widget.AppCompatTextView;
导入android.support.v7.app.ActionBarDrawerToggle;
导入java.util.ArrayList;
公共类MainActivity扩展了AppCompatActivity{
私人抽屉布局mDrawerLayout;
私有列表视图mDrawerList;
私有android.support.v7.app.ActionBarDrawerToggle mDrawerToggle;
//导航抽屉标题
私有字符序列mDrawerTitle;
//用于存储应用程序标题
私有字符序列mTitle;
//幻灯片菜单项
私有字符串[]navMenuTitles;
专用型雷达导航仪;
私人ArrayList NavWrites;
专用导航适配器;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTitle=mDrawerTitle=getTitle();
//加载幻灯片菜单项
navMenuTitles=getResources().getStringArray(R.array.nav\u抽屉\u项目);
//参考资料中的导航抽屉图标
navMenuIcons=getResources().obtainTypedArray(R.array.nav_抽屉图标);
mDrawerLayout=(抽屉布局)findViewById(R.id.抽屉布局);
mDrawerList=(ListView)findViewById(R.id.list\u slidermenu);
navDrawerItems=新的ArrayList();
//将导航抽屉项添加到阵列
//家
添加(新的NavDrawerItem(navMenuTitles[0]);
getResourceId(0,0);
//找人
添加(新的NavDrawerItem(navMenuTitles[1]);
//照片
添加(新的NavDrawerItem(navMenuTitles[2]);
//社区,将在此处添加一个计数器
添加(新的NavDrawerItem(navMenuTitles[3]);
//页数
添加(新的NavDrawerItem(navMenuTitles[4]);
//什么是热的,我们将在这里加一个计数器
添加(新的NavDrawerItem(navMenuTitles[5]);
//回收类型化数组
navMenuIcons.recycle();
setOnItemClickListener(新的SlideMenuClickListener());
//设置导航抽屉列表适配器
适配器=新的NavDroperListAdapter(getApplicationContext(),
纳维特姆斯);
mDrawerList.setAdapter(适配器);
//启用操作栏应用程序图标并将其作为切换按钮
断言getSupportActionBar()!=null;
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
mDrawerToggle=新操作BarDrawerToggle(此,mDrawerLayout,
//R.drawable.ic_抽屉,//导航菜单切换图标
R.string.app_name,//导航抽屉打开-可访问性说明
R.string.app_name//nav抽屉关闭-可访问性说明
) {
公共无效onDrawerClosed(视图){
getSupportActionBar().setTitle(mTitle);
//调用onPrepareOptions菜单()以显示操作栏图标
无效操作菜单();
}
打开图纸上的公共空白(视图抽屉视图){
getSupportActionBar().setTitle(mDrawerTitle);
//调用onPrepareOptions菜单()隐藏操作栏图标
无效操作菜单();
}
};
mDrawerLayout.setDrawerListener(mDrawerToggle);
如果(savedInstanceState==null){
//第一个导航项目的首次显示视图
显示视图(0);
}
}
/**
*幻灯片菜单项单击“侦听器”
*/
私有类SlideMenuClickListener实现
ListView.com侦听器{
@凌驾
public void onItemClick(AdapterView父视图、视图、整型位置、,
长id){
//所选导航抽屉项目的显示视图
显示视图(位置);
}
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
getMenuInflater().充气(右菜单菜单菜单主菜单);
返回true;
}
@凌驾
公共布尔值onOptionsItemSelected(菜单项项){
//在选择操作栏应用程序图标/标题时切换导航抽屉
如果(MDRAWERTOGLE.onOptionsItemSelected(项目)){
返回true;
}
//处理操作栏操作单击
开关(item.getItemId()){
案例R.id.action\u设置:
返回true;
违约:
返回super.onOptionsItemSelected
// adding nav drawer items to array
navDrawerItems.add(new NavDrawerItem(navMenuTitles[0], navMenuIcons.getResourceId(0, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[1], navMenuIcons.getResourceId(1, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[2], navMenuIcons.getResourceId(2, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[3], navMenuIcons.getResourceId(3, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[4], navMenuIcons.getResourceId(4, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[5], navMenuIcons.getResourceId(5, -1)));
imgIcon.setImageResource(navDrawerItems.get(position).getIcon());
.....
navDrawerItems = new ArrayList<NavDrawerItem>();

// adding nav drawer items to array
navDrawerItems.add(new NavDrawerItem(navMenuTitles[0], navMenuIcons.getResourceId(0, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[1], navMenuIcons.getResourceId(1, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[2], navMenuIcons.getResourceId(2, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[3], navMenuIcons.getResourceId(3, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[4], navMenuIcons.getResourceId(4, -1)));
navDrawerItems.add(new NavDrawerItem(navMenuTitles[5], navMenuIcons.getResourceId(5, -1)));

// Recycle the typed array
navMenuIcons.recycle();
....
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    if (convertView == null) {
       LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
            convertView = mInflater.inflate(R.layout.drawer_list_item, null);
        }

        ImageView imgIcon = (ImageView) convertView.findViewById(R.id.icon);
        TextView txtTitle = (TextView) convertView.findViewById(R.id.title);
        ......

        imgIcon.setImageResource(navDrawerItems.get(position).getIcon());
        txtTitle.setText(navDrawerItems.get(position).getTitle());

        return convertView;
    }