Данные навигационного ящика не изменяются динамически
Это MainActivity.java
package com.example.mhn.intercoapp;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.AppBarLayout;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AlertDialog;
import android.view.SubMenu;
import android.view.View;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.example.mhn.intercoapp.static_class.EmpDetail;
import com.example.mhn.intercoapp.static_class.session;
import org.w3c.dom.Text;
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
session s;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
s=new session();
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
// FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
// fab.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View view) {
// Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
// .setAction("Action", null).show();
// }
// });
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
toggle.syncState();
if(s.getN().equals("g"))
{
displayMenuForGuards();
}
if(s.getN().equals("e"))
{
displayMenuForEmployee();
}
}
private void displayMenuForGuards()
{
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
View name = navigationView.getHeaderView(0);
TextView nav_user = (TextView)name.findViewById(R.id.name_textView_nav_header_xml);
nav_user.setText("Guard");
View email = navigationView.getHeaderView(0);
TextView nav_email = (TextView)email.findViewById(R.id.email_textView_nav_header_xml);
nav_email.setText("guard@gmail.com");
View image = navigationView.getHeaderView(0);
ImageView nav_image = (ImageView) image.findViewById(R.id.user_image_imageView_nav_header_xml);
nav_image.setImageResource(R.drawable.clients);
final DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
Menu menu = navigationView.getMenu();
SubMenu subMenu= menu.addSubMenu("Guards");
menu.add("Dashboard").setIcon(R.drawable.ic_menu_gallery).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Intent intent = new Intent(getApplicationContext(),MainActivity.class);
startActivity(intent);
finish();
return false;
}
});
menu.add("Leave").setIcon(R.drawable.ic_menu_gallery).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Intent intent = new Intent(getApplicationContext(),LeaveActivity.class);
startActivity(intent);
finish();
return false;
}
});
menu.add("Salary Slip").setIcon(R.drawable.ic_menu_camera).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
return false;
}
});
menu.add("Duties").setIcon(R.drawable.employee).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Intent intent = new Intent(getApplicationContext(),DutyActivity.class);
startActivity(intent);
finish();
return false;
}
});
menu.add("Logout").setIcon(R.drawable.ic_menu_gallery).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Toast.makeText(getApplicationContext(),"Logout",Toast.LENGTH_SHORT).show();
Intent backIntent = new Intent(getApplicationContext(),loginCustom.class);
startActivity(backIntent);
s.setN("");
finish();
return false;
}
});
drawerLayout.closeDrawers();
}
private void displayMenuForEmployee()
{
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
View name = navigationView.getHeaderView(0);
TextView nav_user = (TextView)name.findViewById(R.id.name_textView_nav_header_xml);
nav_user.setText("Employee");
View email = navigationView.getHeaderView(0);
TextView nav_email = (TextView)email.findViewById(R.id.email_textView_nav_header_xml);
nav_email.setText("Employee@gmail.com");
//NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
final DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
Menu menu = navigationView.getMenu();
SubMenu subMenu= menu.addSubMenu("Employee");
View image = navigationView.getHeaderView(0);
ImageView nav_image = (ImageView) image.findViewById(R.id.user_image_imageView_nav_header_xml);
nav_image.setImageResource(R.drawable.employee);
menu.add("Dashboard").setIcon(R.drawable.ic_menu_gallery).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Intent intent = new Intent(getApplicationContext(),MainActivity.class);
startActivity(intent);
finish();
return false;
}
});
menu.add("Employee Directory").setIcon(R.drawable.ic_menu_camera).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Intent intent_= new Intent(getApplicationContext(),EmployeeDirectoryActivity.class);
startActivity(intent_);
finish();
return false;
}
});
menu.add("Projects").setIcon(R.drawable.ic_menu_gallery).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Intent intent = new Intent(getApplicationContext(),ProjectsActivity.class);
startActivity(intent);
finish();
return false;
}
});
menu.add("Tasks").setIcon(R.drawable.ic_menu_gallery).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Intent intent = new Intent(getApplicationContext(),LeaveActivity.class);
startActivity(intent);
finish();
return false;
}
});
menu.add("Time Logs").setIcon(R.drawable.attence);
menu.add("Attendence").setIcon(R.drawable.attence).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Intent attendence_intent =new Intent(getApplicationContext(),AttendenceActivity.class);
startActivity(attendence_intent);
finish();
return false;
}
});
menu.add("Tickets").setIcon(R.drawable.attence);
menu.add("Finance").setIcon(R.drawable.attence);
menu.add("Messeges").setIcon(R.drawable.attence);
menu.add("Events").setIcon(R.drawable.attence);
menu.add("Leaves").setIcon(R.drawable.attence).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Intent intent = new Intent(getApplicationContext(),LeaveActivity.class);
startActivity(intent);
finish();
return false;
}
});
menu.add("Logout").setIcon(R.drawable.ic_menu_gallery).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Toast.makeText(getApplicationContext(),"Logout",Toast.LENGTH_SHORT).show();
Intent backIntent = new Intent(getApplicationContext(),loginCustom.class);
startActivity(backIntent);
s.setN("");
finish();
return false;
}
});
drawerLayout.closeDrawers();
}
@Override
public void onBackPressed() {
// DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
// if (drawer.isDrawerOpen(GravityCompat.START)) {
// drawer.closeDrawer(GravityCompat.START);
// } else {
// super.onBackPressed();
// }
EmpDetail.reset();
new AlertDialog.Builder(this)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle("Warning")
.setMessage("You want to Exit?")
.setNegativeButton("No", null)
.setPositiveButton("Yes", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
}).show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
drawer.closeDrawer(GravityCompat.START);
return true;
}
}
это Activity_main_xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<include
layout="@layout/app_bar_main"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main"
app:menu="@menu/activity_main_drawer" />
</android.support.v4.widget.DrawerLayout>
Это app_bar_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</android.support.design.widget.AppBarLayout>
<include layout="@layout/content_main" />
<!--<android.support.design.widget.FloatingActionButton-->
<!--android:id="@+id/fab"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_gravity="bottom|end"-->
<!--android:layout_margin="@dimen/fab_margin"-->
<!--app:srcCompat="@android:drawable/ic_dialog_email" />-->
</android.support.design.widget.CoordinatorLayout>
Это content_main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context=".MainActivity"
tools:showIn="@layout/app_bar_main">
<RelativeLayout
android:layout_below="@id/relatice_layout_header_Attendence_activity_xml"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:id="@+id/re1"
android:layout_alignParentLeft="true"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="20dp"
android:layout_width="190dp"
android:background="#259edf"
android:layout_height="wrap_content">
<TextView
android:id="@+id/text_view_re_1"
android:layout_marginTop="20dp"
android:layout_width="wrap_content"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_height="wrap_content"
android:text="Attendences"/>
<TextView
android:layout_marginTop="40dp"
android:layout_below="@id/text_view_re_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginBottom="20dp"
android:layout_marginRight="40dp"
android:text="3"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/re2"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="20dp"
android:layout_alignParentRight="true"
android:layout_toRightOf="@id/re1"
android:layout_width="wrap_content"
android:background="#54e12a"
android:layout_height="wrap_content">
<TextView
android:id="@+id/text_view_re_2"
android:layout_marginTop="20dp"
android:layout_width="wrap_content"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_height="wrap_content"
android:text="Projects"/>
<TextView
android:layout_marginTop="40dp"
android:layout_below="@id/text_view_re_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="40dp"
android:layout_marginBottom="20dp"
android:layout_alignParentRight="true"
android:text="10"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/re3"
android:layout_below="@id/re1"
android:layout_alignParentLeft="true"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="20dp"
android:layout_width="190dp"
android:background="#da672d"
android:layout_height="wrap_content">
<TextView
android:id="@+id/text_view_re_3"
android:layout_marginTop="20dp"
android:layout_width="wrap_content"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_height="wrap_content"
android:text="Tasks"/>
<TextView
android:layout_marginTop="40dp"
android:layout_below="@id/text_view_re_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginBottom="20dp"
android:layout_marginRight="40dp"
android:text="3"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/re4"
android:layout_below="@id/re1"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="20dp"
android:layout_alignParentRight="true"
android:layout_toRightOf="@id/re1"
android:layout_width="wrap_content"
android:background="#98d6f5"
android:layout_height="wrap_content">
<TextView
android:id="@+id/text_view_re_4"
android:layout_marginTop="20dp"
android:layout_width="wrap_content"
android:layout_marginRight="10dp"
android:layout_marginLeft="10dp"
android:layout_height="wrap_content"
android:text="Hourly Rate"/>
<TextView
android:layout_marginTop="40dp"
android:layout_below="@id/text_view_re_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="40dp"
android:layout_marginBottom="20dp"
android:layout_alignParentRight="true"
android:text="$50"/>
</RelativeLayout>
</RelativeLayout>
</RelativeLayout>
Здесь я хочу динамически изменять статику приборной панели. (content_main.xml) Я имею в виду, что при входе сотрудника в систему он видит панель с другой статистикой, нежели охранник. здесь я как искать охранников
Изображение приборной панели для охранников
как я могу это сделать. Во-вторых, есть ли какой-либо предопределенный или сторонний виджет для разработки панели инструментов в Android.??