Android Open Source - logmypain Add Triggers Dialog Fragment






From Project

Back to project page logmypain.

License

The source code is released under:

GNU General Public License

If you think the Android project logmypain 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 com.logmypain.main.record.dialogs;
/*  w  w  w.  ja  v a  2 s  .com*/
import java.util.List;

import com.logmypain.R;
import com.logmypain.utils.DatabaseHelper;
import com.logmypain.tasks.adapters.TriggersAdapter;
import com.logmypain.utils.Models.Trigger;
import android.os.Bundle;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.support.v4.app.DialogFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;

public class AddTriggersDialogFragment extends DialogFragment implements OnClickListener{
  private List<Trigger> triggers;
  private List<Trigger> removed;
  private TriggersAdapter rAdapter;
  private View view;
  private ListView list;
  
  public interface AddTriggersDialogListener {
        public void onReturnVal(List<Trigger> triggers, List<Trigger> removed);
    }
  
  @Override
  public Dialog onCreateDialog(Bundle savedInstanceState) {
      AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
      
      // Get the layout inflater
      view = LayoutInflater.from(getActivity()).inflate(R.layout.dialog_triggers, null);
    list = (ListView) view.findViewById(R.id.list_triggers);
    
    final Button addTriggerButton = (Button) view.findViewById(R.id.trigger_add_button);
      
    DatabaseHelper db = new DatabaseHelper(this.getActivity());
    //rAdapter = new TriggersAdapter(this.getActivity(),
        //        layout.triggers_list_item, db.getAllTriggers());
    list.setAdapter(rAdapter); 
    list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
    
    list.setItemChecked(0, true);
    
    addTriggerButton.setOnClickListener(this);
    
      // Add action buttons
      builder.setPositiveButton("Done", new DialogInterface.OnClickListener() {
                 @Override
                 public void onClick(DialogInterface dialog, int id) {
                   AddTriggersDialogListener activity = (AddTriggersDialogListener) getActivity();
                    activity.onReturnVal(rAdapter.getTriggersToAdd(), rAdapter.getTriggersToRemove());
                 }
             });
      
      builder.setView(view);
      return builder.create();
  }
  
  public void addTrigger(){
    final EditText triggerTextField = (EditText) this.view.findViewById(R.id.trigger_text_field);
    Trigger trigger = new Trigger();
    trigger.setName(triggerTextField.getText().toString());
    DatabaseHelper db = new DatabaseHelper(this.getActivity());
    //long id = db.addTrigger(trigger);
    //trigger.setId(id);
    rAdapter.insert(trigger, 0);
    triggerTextField.setText("");
    rAdapter.notifyDataSetChanged();
    list.setItemChecked(0, true);
  }

  @Override
  public void onClick(View view) {
    switch (view.getId()) {
        case R.id.trigger_add_button:
          addTrigger();
            break;
        }
    
  }
}




Java Source Code List

com.logmypain.main.MainActivity.java
com.logmypain.main.record.HeadacheRecordFormActivity.java
com.logmypain.main.record.dialogs.AddTriggersDialogFragment.java
com.logmypain.main.record.dialogs.DateTimeDialogFragment.java
com.logmypain.main.record.toasties.RecordNowToastie.java
com.logmypain.tasks.ViewRecordsActivity.java
com.logmypain.tasks.adapters.CalendarGridViewAdapter.java
com.logmypain.tasks.adapters.TriggersAdapter.java
com.logmypain.tasks.adapters.ViewRecordsAdapter.java
com.logmypain.tasks.framents.ViewCalendarFragment.java
com.logmypain.tasks.framents.ViewListFragment.java
com.logmypain.tasks.listeners.MonthSelectedListener.java
com.logmypain.tasks.listeners.ViewRecordsTabListener.java
com.logmypain.tasks.listeners.YearSelectedListener.java
com.logmypain.utils.CalendarUtil.java
com.logmypain.utils.CalendarViewDay.java
com.logmypain.utils.DatabaseHelper.java
com.logmypain.utils.SquareLayout.java
com.logmypain.utils.Models.HeadacheRecord.java
com.logmypain.utils.Models.Headache.java
com.logmypain.utils.Models.Trigger.java