am_dot_com

DDM 20201112

Nov 12th, 2020 (edited)
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.68 KB | None | 0 0
  1. package com.joythis.android.distancebetweendates;
  2.  
  3. import androidx.annotation.Nullable;
  4. import androidx.appcompat.app.AppCompatActivity;
  5.  
  6. import android.content.Context;
  7. import android.content.Intent;
  8. import android.os.Bundle;
  9. import android.view.View;
  10. import android.widget.ArrayAdapter;
  11. import android.widget.Button;
  12. import android.widget.ListView;
  13. import android.widget.TextView;
  14.  
  15. import java.util.ArrayList;
  16.  
  17. public class DatesRequesterActivity extends AppCompatActivity {
  18.     Context mContext;
  19.  
  20.     Button mBtnRequestDate1, mBtnRequestDate2;
  21.     TextView mTvShowDate1, mTvShowDate2;
  22.     Button mBtnCompute;
  23.  
  24.     ListView mLvFeedback;
  25.     ArrayList<String> mAlComputedDistances;
  26.     ArrayAdapter<String> mAd;
  27.  
  28.     Button.OnClickListener mButtonClickHandler = new Button.OnClickListener() {
  29.         @Override
  30.         public void onClick(View v) {
  31.             int id = v.getId();
  32.             switch(id){
  33.                 case R.id.idBtnRequestDate1:
  34.                     actionRequestDate1();
  35.                     break;
  36.                 case R.id.idBtnRequestDate2:
  37.                     actionRequestDate2();
  38.                     break;
  39.                 case R.id.idBtnConfirmDate:
  40.                     actionConfirmDate();
  41.                     break;
  42.             }//switch
  43.         }//onClick
  44.     };//mButtonClickHandler
  45.  
  46.     public final static int
  47.         CALL_ME_ON_THIS_NUMBER_WHEN_YOU_HAVE_A_RESULT = 123;
  48.  
  49.     void goPickSomeDate(){
  50.         Intent goToDatesInputActivityAndPickDate =
  51.                 new Intent(
  52.                         this,
  53.                         DateInputActivity.class
  54.                 );
  55.  
  56.         //startActivity(goToDatesInputActivityAndPickDate);
  57.  
  58.         startActivityForResult(
  59.             goToDatesInputActivityAndPickDate,
  60.             CALL_ME_ON_THIS_NUMBER_WHEN_YOU_HAVE_A_RESULT
  61.         );
  62.     }//goPickSomeDate
  63.  
  64.     //CTRL O
  65.     @Override
  66.     protected void onActivityResult
  67.     (int requestCode, int resultCode, @Nullable Intent data)
  68.     {
  69.         super.onActivityResult(requestCode, resultCode, data);
  70.  
  71.         boolean bUserConfirmedData = resultCode == RESULT_OK;
  72.         boolean bUserCanceled = resultCode == RESULT_CANCELED;
  73.        
  74.         if (bUserConfirmedData){
  75.            switch(requestCode){
  76.                case CALL_ME_ON_THIS_NUMBER_WHEN_YOU_HAVE_A_RESULT:
  77.                    boolean bNotEmptyData = data!=null;
  78.                    if (bNotEmptyData){
  79.                        int y = data.getIntExtra(
  80.                            DateInputActivity.KEY_YEAR, DEFAULT_YEAR
  81.                        );
  82.                        int m = data.getIntExtra(
  83.                            DateInputActivity.KEY_MONTH, DEFAULT_MONTH
  84.                        );
  85.                        int d =
  86.                            data.getIntExtra(
  87.                                DateInputActivity.KEY_DAY, DEFAULT_DAY
  88.                            );
  89.                        
  90.                        //got y,m,d responded in DateInputActivity
  91.                        /*
  92.                        TODO: build a string + an object of type AmCalendar
  93.                        corresponding to the received date
  94.                        display the string  
  95.                         */
  96.                    }//if there is data
  97.                    break;
  98.            }//switch
  99.         }//if user confirmed the interaction
  100.     }//onActivityResult
  101.  
  102.     void actionRequestDate1(){
  103.         goPickSomeDate();
  104.     }//actionRequestDate1
  105.  
  106.     void actionRequestDate2(){
  107.         goPickSomeDate();
  108.     }//actionRequestDate2
  109.  
  110.     void actionConfirmDate(){
  111.  
  112.     }//actionConfirmDate
  113.  
  114.     @Override
  115.     protected void onCreate(Bundle savedInstanceState) {
  116.         super.onCreate(savedInstanceState);
  117.         setContentView(R.layout.dates_requester_rl);
  118.  
  119.         init();
  120.     }//onCreate
  121.  
  122.     void init(){
  123.         mContext = this;
  124.         mBtnRequestDate1 = findViewById(R.id.idBtnRequestDate1);
  125.         mBtnRequestDate2 = findViewById(R.id.idBtnRequestDate2);
  126.         mTvShowDate1 = findViewById(R.id.idTvShowDate1);
  127.         mTvShowDate2 = findViewById(R.id.idTvShowDate2);
  128.         mBtnCompute = findViewById(R.id.idBtnCompute);
  129.         mLvFeedback = findViewById(R.id.idLvFeedback);
  130.  
  131.         mAlComputedDistances = new ArrayList<>();
  132.         mAd = new ArrayAdapter<>(
  133.             mContext,
  134.             android.R.layout.simple_list_item_1,
  135.             mAlComputedDistances
  136.         );
  137.         mLvFeedback.setAdapter(mAd);
  138.  
  139.         Button[] aBtns = {
  140.             mBtnRequestDate1,
  141.             mBtnRequestDate2,
  142.             mBtnCompute
  143.         };
  144.         for (Button b : aBtns)
  145.             b.setOnClickListener(mButtonClickHandler);
  146.  
  147.     }
  148.  
  149.  
  150. }//DatesRequesterActivity
Advertisement
Add Comment
Please, Sign In to add comment