Advertisement
Guest User

TagsViewActivity

a guest
May 5th, 2016
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.76 KB | None | 0 0
  1. public class TagsViewActivity extends AppCompatActivity implements LoaderManager.LoaderCallbacks<Cursor> {
  2.     private static final int CM_DELETE_ID = 1;
  3.  
  4.     public ListView listViewTags;
  5.     public Button mViewButtonProject, mViewButtonStaff;
  6.     public Bundle mBundle;
  7.  
  8.     private DatabaseHelper db;
  9.  
  10.     private SimpleCursorAdapter scAdapter;
  11.  
  12.     public void onCreate(final Bundle savedInstanceState) {
  13.         super.onCreate(savedInstanceState);
  14.         setContentView(R.layout.list_view_tags);
  15.  
  16.         drawNavigationDrawer();
  17.  
  18.         returnBundle(savedInstanceState);
  19.  
  20.         final Context context = this;
  21.  
  22.         db = new ProjectDatabase(this);
  23.         db.open();
  24.  
  25.         //String[] from = new String[] { db.COLUMN_TAGS };
  26.         Cursor cursor = db.getTags();
  27.         String[] array = new String[cursor.getCount()];
  28.         int i = 0;
  29.         while (cursor.moveToNext()) {
  30.             String tag = cursor.getString(cursor.getColumnIndex("tags"));
  31.             array[i] = tag;
  32.             i++;
  33.         }
  34.         String[] from = array;
  35.         int[] to = new int[] { R.id.textViewTags };
  36.  
  37.         scAdapter = new SimpleCursorAdapter(this, R.layout.list_view_tag_item, null, from, to, 0);
  38.  
  39.         listViewTags = (ListView) findViewById(R.id.listViewTags);
  40.         listViewTags.setAdapter(scAdapter);
  41.  
  42.         mViewButtonProject = (Button)findViewById(R.id.button_project);
  43.         mViewButtonProject.setOnClickListener(new View.OnClickListener() {
  44.             @Override
  45.             public void onClick(View v) {
  46.                 db = new ProjectDatabase(context);
  47.                 db.open();
  48.  
  49.                 tableUpdate();
  50.             }
  51.         });
  52.  
  53.         mViewButtonStaff= (Button)findViewById(R.id.button_staff);
  54.         mViewButtonStaff.setOnClickListener(new View.OnClickListener() {
  55.             @Override
  56.             public void onClick(View v) {
  57.                 db = new StaffDatabase(context);
  58.                 db.open();
  59.  
  60.                 tableUpdate();
  61.             }
  62.         });
  63.  
  64.         registerForContextMenu(listViewTags);
  65.  
  66.         getSupportLoaderManager().initLoader(0, null, this);
  67.     }
  68.  
  69.     @Override
  70.     public boolean onCreateOptionsMenu(Menu menu) {
  71.         getMenuInflater().inflate(R.menu.menu, menu);
  72.         return true;
  73.     }
  74.  
  75.     public void tableUpdate() {
  76.  
  77.         getSupportLoaderManager().restartLoader(0, mBundle, this);
  78.  
  79.     }
  80.  
  81.     public Bundle returnBundle(Bundle bundle) {
  82.         mBundle = bundle;
  83.         return mBundle;
  84.     }
  85.  
  86.     protected void onDestroy() {
  87.         super.onDestroy();
  88.         db.close();
  89.     }
  90.  
  91.     protected void onResume() {
  92.         super.onResume();
  93.         getSupportLoaderManager().getLoader(0).forceLoad();
  94.     }
  95.  
  96.     @Override
  97.     public Loader<Cursor> onCreateLoader(int id, Bundle bundle) {
  98.         return new CustomCursorLoader(this, db);
  99.     }
  100.  
  101.     @Override
  102.     public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) {
  103.         scAdapter.swapCursor(cursor);
  104.     }
  105.  
  106.     @Override
  107.     public void onLoaderReset(Loader<Cursor> loader) {
  108.     }
  109.  
  110.     public void drawNavigationDrawer() {
  111.         Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
  112.         setSupportActionBar(toolbar);
  113.  
  114.         new Drawer()
  115.                 .withActivity(this)
  116.                 .withToolbar(toolbar)
  117.                 .withActionBarDrawerToggle(true)
  118.                 .withHeader(R.layout.drawer_header)
  119.                 .addDrawerItems(
  120.                         new PrimaryDrawerItem().withName(R.string.drawer_to_data).withIcon(FontAwesome.Icon.faw_undo).withIdentifier(0),
  121.                         new PrimaryDrawerItem().withName(R.string.drawer_item_create_new_project).withIcon(FontAwesome.Icon.faw_plus).withIdentifier(1),
  122.                         new PrimaryDrawerItem().withName(R.string.drawer_item_create_new_skill).withIcon(FontAwesome.Icon.faw_plus_circle).withIdentifier(2),
  123.                         new PrimaryDrawerItem().withName(R.string.drawer_favorite).withIcon(FontAwesome.Icon.faw_star).withIdentifier(3)
  124.                 )
  125.                 .withOnDrawerListener(new Drawer.OnDrawerListener() {
  126.                     @Override
  127.                     public void onDrawerOpened(View drawerView) {
  128.                         InputMethodManager inputMethodManager = (InputMethodManager) TagsViewActivity.this.getSystemService(Activity.INPUT_METHOD_SERVICE);
  129.                         inputMethodManager.hideSoftInputFromWindow(TagsViewActivity.this.getCurrentFocus().getWindowToken(), 0);
  130.                     }
  131.  
  132.                     @Override
  133.                     public void onDrawerClosed(View drawerView) {
  134.                     }
  135.                 })
  136.                 .withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() {
  137.                     @Override
  138.                     public void onItemClick(AdapterView<?> parent, View view, int position, long id, IDrawerItem drawerItem) {
  139.                         switch (drawerItem.getIdentifier()) {
  140.                             case 0:
  141.                                 Intent dataIntent = new Intent(TagsViewActivity.this, ListViewFragmentActivity.class);
  142.                                 startActivity(dataIntent);
  143.  
  144.                                 break;
  145.  
  146.                             case 1:
  147.                                 Intent projectIntent = new Intent(TagsViewActivity.this, AddItemActivity.class);
  148.                                 projectIntent.putExtra("db", "appDbProject");
  149.                                 startActivity(projectIntent);
  150.  
  151.                                 getSupportLoaderManager().getLoader(0).forceLoad();
  152.  
  153.                                 break;
  154.  
  155.                             case 2:
  156.                                 Intent staffIntent = new Intent(TagsViewActivity.this, AddItemActivity.class);
  157.                                 staffIntent.putExtra("db", "appDbStaff");
  158.                                 startActivity(staffIntent);
  159.  
  160.                                 getSupportLoaderManager().getLoader(0).forceLoad();
  161.  
  162.                                 break;
  163.  
  164.                             case 3:
  165.                                 Intent favoriteIntent = new Intent(TagsViewActivity.this, FavoriteViewActivity.class);
  166.                                 startActivity(favoriteIntent);
  167.  
  168.                                 break;
  169.                         }
  170.                     }
  171.                 })
  172.                 .build();
  173.     }
  174.  
  175.     static class CustomCursorLoader extends CursorLoader {
  176.  
  177.         DatabaseHelper db;
  178.  
  179.         public CustomCursorLoader(Context context, DatabaseHelper db) {
  180.             super(context);
  181.             this.db = db;
  182.         }
  183.  
  184.         @Override
  185.         public Cursor loadInBackground() {
  186.             Cursor cursor = db.getAllData();
  187.             return cursor;
  188.         }
  189.  
  190.     }
  191. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement