Android Open Source - android Main






From Project

Back to project page android.

License

The source code is released under:

GNU General Public License

If you think the Android project android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package de.nico.ha_manager.activities;
/*from  ww  w  . j a v a 2s.  com*/
/* 
 * Author: Nico Alt
 * See the file "LICENSE.txt" for the full license governing this code.
 */

import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.util.Log;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleAdapter;

import java.util.ArrayList;
import java.util.HashMap;

import de.nico.ha_manager.R;
import de.nico.ha_manager.database.Source;
import de.nico.ha_manager.helper.Homework;
import de.nico.ha_manager.helper.Subject;
import de.nico.ha_manager.helper.Utils;

public class Main extends FragmentActivity {

    private static ArrayList<HashMap<String, String>> hwArray = new ArrayList<>();
    private static int pos;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list);
        setTitle(getString(R.string.title_homework));
        update();

        if (!(Subject.get(this).length > 0))
            Subject.setDefault(this);

    }

    @Override
    public void onResume() {
        super.onResume();
        update();

    }

    @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 presses on the action bar items
        switch (item.getItemId()) {
            case R.id.action_settings:
                startActivity(new Intent(this, Preferences.class));
                return true;

            case R.id.action_delete:
                deleteAll();
                return true;

            case R.id.action_add:
                startActivity(new Intent(this, AddHomework.class));
                return true;
            default:
                return super.onOptionsItemSelected(item);
        }
    }

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v,
                                    ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        menu.add(0, v.getId(), 0, getString(R.string.dialog_edit));
        menu.add(0, v.getId(), 1, getString(R.string.dialog_delete));
    }

    @Override
    public boolean onContextItemSelected(MenuItem item) {
        final AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item
                .getMenuInfo();
        if (item.getTitle() == getString(R.string.dialog_edit)) {
            editOne(hwArray, pos);
            return true;
        }
        if (item.getTitle() == getString(R.string.dialog_delete)) {
            deleteOne(hwArray, pos);
            update();
            return true;
        }
        return false;

    }

    private void update() {
        // Remove old content
        hwArray.clear();
        Source s = new Source(this);

        // Get content from SQLite Database
        try {
            s.open();
            hwArray = s.get();
            s.close();
        } catch (Exception ex) {
            Log.e("Update Homework List:", ex.toString());
        }
        setOnClick();
    }

    private void setOnClick() {
        ListView hwList = (ListView) findViewById(R.id.listView_main);
        hwList.setAdapter(Utils.entryAdapter(this, hwArray));
        registerForContextMenu(hwList);
        hwList.setLongClickable(false);
        hwList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view,
                                    int position, long id) {
                pos = position;
                openContextMenu(view);
                setOnClick();
            }
        });
    }

    private void editOne(ArrayList<HashMap<String, String>> ArHa, int pos) {
        final String currentID = "ID = " + ArHa.get(pos).get("ID");
        Intent intent = new Intent(this, AddHomework.class);
        Bundle mBundle = new Bundle();
        mBundle.putString(Source.allColumns[0], currentID);
        for (int i = 1; i < 5; i++)
            mBundle.putString(Source.allColumns[i],
                    ArHa.get(pos).get(Source.allColumns[i]));
        intent.putExtras(mBundle);
        startActivity(intent);
    }

    private void deleteOne(ArrayList<HashMap<String, String>> ArHa, int pos) {
        ArrayList<HashMap<String, String>> tempArray = Utils.tempArray(ArHa,
                pos);
        final String currentID = "ID = " + ArHa.get(pos).get("ID");
        SimpleAdapter alertAdapter = Utils.entryAdapter(this, tempArray);

        AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
        alertDialog
                .setTitle(getString(R.string.dialog_delete))
                .setAdapter(alertAdapter, null)
                .setPositiveButton((getString(android.R.string.yes)),
                        new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface d, int i) {
                                Homework.deleteOne(Main.this, currentID);
                                update();

                            }

                        })
                .setNegativeButton((getString(android.R.string.no)), null)
                .show();
    }

    private void deleteAll() {
        AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
        alertDialog
                .setTitle(getString(R.string.dialog_delete))
                .setMessage(getString(R.string.dialog_really_delete_hw))
                .setPositiveButton((getString(android.R.string.yes)),
                        new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface d, int i) {
                                Homework.deleteAll(Main.this);
                                update();
                            }
                        })
                .setNegativeButton((getString(android.R.string.no)), null)
                .show();
    }

}




Java Source Code List

de.nico.ha_manager.HWManager.java
de.nico.ha_manager.activities.About.java
de.nico.ha_manager.activities.AddHomework.java
de.nico.ha_manager.activities.Main.java
de.nico.ha_manager.activities.Preferences.java
de.nico.ha_manager.activities.SubjectOffers.java
de.nico.ha_manager.activities.Subjects.java
de.nico.ha_manager.database.Helper.java
de.nico.ha_manager.database.Source.java
de.nico.ha_manager.helper.ActionBarWrapper.java
de.nico.ha_manager.helper.Homework.java
de.nico.ha_manager.helper.Subject.java
de.nico.ha_manager.helper.Utils.java