text getting added to last position of layout added in loop dynamically

时间:2019-05-09 19:48:34

标签: android

I'm creating a passenger details page which contains title, Firstname, Lastname and date of birth to be filled.

I'm adding layout in loop dynamically depending on the passenger count, now the problem is when I am trying to add the title to respective passenger, it always gets added in the last position of title layout.

Any help is appreciated :)

import android.Manifest;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.net.ParseException;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.annotation.Nullable;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.PopupMenu;
import android.widget.PopupWindow;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.Toast;

import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.AsyncHttpResponseHandler;
import com.loopj.android.http.RequestParams;

import org.apache.http.Header;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.UnsupportedEncodingException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;

import Bean.FlightSearchBean;
import Utils.Base_Urls;
import utility.AvenuesParams;
import utility.ServiceUtility;

public class PassengerDetails extends AppCompatActivity implements View.OnClickListener, DatePickerDialog.OnDateSetListener {
    LinearLayout a1,whole_layout;
    EditText edit_email_id,edit_phone_no,city,state,country,pin,DOB_,leadPaxPhoneNumber,leadPaxEmail;
    int adult_no=0,child_no=0,infant_no=0;
    TextView source_info_toolbar,destination_info_toolbar,passenger_info_toolbar,title_,userPhoneNumber,userName;;
    Button continue_book,back,callUs,mail_us,sign_out,change_password,my_booking,slidingMenu,titleDropDown,home;
    SlidingMenu menu;
    LinearLayout title_layout;
    ImageView profilePicture;
    String userEmail,userFullName,mobileNumber;
    String encRequest,access_code,FormURL,MERCHANT_ID , amount ,CURRENCY,CANCEL_URL,ORDER_ID,REDIRECT_URL;
    Boolean isInternationalRoundTrip;

ArrayList<String> AdultFirstName=new ArrayList<String>();
ArrayList<String> AdultLastName=new ArrayList<String>();
ArrayList<String> ChildernFirstName=new ArrayList<String>();
ArrayList<String> ChildernLastName=new ArrayList<String>();
ArrayList<String> InfantFirstName=new ArrayList<String>();
ArrayList<String> InfantLastName=new ArrayList<String>();
ArrayList<String> AdultTitle=new ArrayList<String>();
ArrayList<String> ChildrenTitle=new ArrayList<String>();
ArrayList<String> InfantTitle=new ArrayList<String>();
ArrayList<String> AdultDOB=new ArrayList<String>();
ArrayList<String> ChildrenDOB=new ArrayList<String>();
ArrayList<String> InfantDOB=new ArrayList<String>();
ArrayList<Integer> AdultGender= new ArrayList<Integer>();
ArrayList<Integer> ChildGender= new ArrayList<Integer>();
ArrayList<Integer> InfantGender= new ArrayList<Integer>();

String tokenKeyPassengerOneWay,tokenKeyPassengerRoundTrip,stringLeadPaxPhNo,stringleadPaxEmail, childrentCount ,infantCount ,adultCount;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.activity_passenger_details);

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);

    if (toolbar != null) {
        setSupportActionBar(toolbar);
        getSupportActionBar().setDisplayShowTitleEnabled(false);
        getSupportActionBar().setDisplayShowHomeEnabled(false);
    }

    initialiseSlidingmenu();
    initializeView();
    getBindleData();

    LayoutInflater inflater = (LayoutInflater)this.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
    TextView heading_text;
    EditText passenger_FirstName,passenger_LastName;
    RadioGroup radioSexGroup0;



    for(int adult = 0; adult<Integer.parseInt(adultCount) ; adult++){
        final View view = inflater.inflate(R.layout.input_layout,null);
        title_layout = (LinearLayout)view.findViewById(R.id.title_layout);
        title_layout.setOnClickListener(this);

        heading_text = (TextView)view.findViewById(R.id.passengerType);
        passenger_FirstName = (EditText)view.findViewById(R.id.passengerFirstName);
        passenger_LastName = view.findViewById(R.id.passengerLastName);
        DOB_ = (EditText)view.findViewById(R.id.dob);
        titleDropDown = (Button) view.findViewById(R.id.dropDown);
        titleDropDown.setOnClickListener(this);

        title_= (TextView) view.findViewById(R.id.title);
        title_.setOnClickListener(this);


        DOB_.setVisibility(View.GONE);
        DOB_.setText(setDummyDOB());
        System.out.println("+++++++++++++++++++DOB_.getText().toString()"+DOB_.getText().toString());


        //  person_age.setVisibility(View.GONE);
        radioSexGroup0 = (RadioGroup)view.findViewById(R.id.radioSex);

        heading_text.setText("Adult "+(adult+1));
        whole_layout.addView(view);
        whole_layout.clearFocus();
    }

    for(int children = 0; children<Integer.parseInt(childrentCount)  ; children++){
        View view = inflater.inflate(R.layout.input_layout,null);
        title_layout = (LinearLayout)view.findViewById(R.id.title_layout);
        title_layout.setOnClickListener(this);
        heading_text = (TextView)view.findViewById(R.id.passengerType);
        passenger_FirstName = (EditText)view.findViewById(R.id.passengerFirstName);
        passenger_LastName = view.findViewById(R.id.passengerLastName);
        titleDropDown = (Button) view.findViewById(R.id.dropDown);
        titleDropDown.setOnClickListener(this);
        DOB_ = (EditText)view.findViewById(R.id.dob);

        if (child_no<=0){
            DOB_.setVisibility(View.GONE);
        }

        title_= (TextView) view.findViewById(R.id.title);
        title_.setOnClickListener(this);

        heading_text.setText("Children "+(children+1));
        whole_layout.addView(view);
        whole_layout.clearFocus();
    }

    for(int infant = 0; infant<Integer.parseInt(infantCount)  ; infant++){
        View view = inflater.inflate(R.layout.input_layout,null);
        title_layout = (LinearLayout)view.findViewById(R.id.title_layout);
        title_layout.setOnClickListener(this);
        heading_text = (TextView)view.findViewById(R.id.passengerType);
        passenger_FirstName = (EditText)view.findViewById(R.id.passengerFirstName);
        passenger_LastName = view.findViewById(R.id.passengerLastName);
        titleDropDown = (Button) view.findViewById(R.id.dropDown);
        titleDropDown.setOnClickListener(this);
        DOB_ = (EditText)view.findViewById(R.id.dob);


        if (infant_no<=0){
            DOB_.setVisibility(View.GONE);
        }

        title_= (TextView) view .findViewById(R.id.title);
        title_.setOnClickListener(this);
        radioSexGroup0 = (RadioGroup)view.findViewById(R.id.radioSex);
        heading_text.setText("Infant "+(infant+1));
        whole_layout.addView(view);
        whole_layout.clearFocus();
    }


}

private String setDummyDOB() {


    Calendar calendar = Calendar.getInstance(); // this would default to now
    calendar.add(Calendar.YEAR, -20);
    Date date = calendar.getTime();

    SimpleDateFormat format1 = new SimpleDateFormat("dd-MM-yyyy");
    String adultDate = null;

    try {
        adultDate = format1.format(date);
        System.out.println(adultDate );
    } catch (ParseException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

    return adultDate;
}

private void initializeView() {

    source_info_toolbar= (TextView) findViewById(R.id.source_toolbar);
    destination_info_toolbar = (TextView)findViewById(R.id.destination_toolbar);
    passenger_info_toolbar = (TextView) findViewById(R.id.passenger_info_toolbar);
    leadPaxEmail= (EditText) findViewById(R.id.leadPaxEmail);
    leadPaxPhoneNumber= (EditText) findViewById(R.id.leadPaxPhoneNumber);
    back= (Button) findViewById(R.id.back);
    stringleadPaxEmail = leadPaxEmail.getText().toString();
    stringLeadPaxPhNo = leadPaxPhoneNumber.getText().toString();
    callUs= (Button)menu.findViewById(R.id.call_Us);
    mail_us= (Button)menu.findViewById(R.id.mail_Us);
    my_booking= (Button)menu.findViewById(R.id.my_booking);
    change_password= (Button)menu.findViewById(R.id.change_password);
    sign_out= (Button)menu.findViewById(R.id.logout);
    whole_layout = (LinearLayout)findViewById(R.id.arry1);
    continue_book = (Button)findViewById(R.id.book_button);
    profilePicture = (ImageView)menu.findViewById(R.id.profilePicture);
    slidingMenu= (Button) findViewById(R.id.menu);
    home= (Button) findViewById(R.id.menu);
    userName =(TextView)menu.findViewById(R.id.userName);
    userPhoneNumber =(TextView)menu.findViewById(R.id.userPhoneNumber);

    back.setVisibility(View.GONE);

    continue_book.setOnClickListener(this);
    back.setOnClickListener(this);
    callUs.setOnClickListener(this);
    mail_us.setOnClickListener(this);
    my_booking.setOnClickListener(this);
    change_password.setOnClickListener(this);
    sign_out.setOnClickListener(this);
    profilePicture.setOnClickListener(this);
    slidingMenu.setOnClickListener(this);
    home.setOnClickListener(this);

}

private void getBindleData() {
    Bundle bundle = getIntent().getExtras();
    String source_info = bundle.getString("source_info_toolbar", "");
    String destination_info = bundle.getString("destination_info_toolbar", "");
    String passenger_info= bundle.getString("passenger_info_toolbar", "");
    childrentCount = bundle.getString("ChildrenCount", "");
    infantCount = bundle.getString("InfantCount", "");
    adultCount = bundle.getString("AdultCount", "");
    tokenKeyPassengerRoundTrip = bundle.getString("tokenKeyPassengerRoundTrip","");
    tokenKeyPassengerOneWay = bundle.getString("tokenKeyPassengerOneWay","");
    userEmail = bundle.getString("userEmail", "");
    userFullName = bundle.getString("userName", "");
    mobileNumber = bundle.getString("mobileNumber", "");
    isInternationalRoundTrip= bundle.getBoolean("isInternationalRoundTrip",isInternationalRoundTrip);

    adult_no=Integer.parseInt(adultCount);
    child_no=Integer.parseInt(childrentCount);
    infant_no=Integer.parseInt(infantCount);

    System.out.println("==========================tokenKey="+tokenKeyPassengerRoundTrip+"==="+tokenKeyPassengerOneWay);
    source_info_toolbar.setText(source_info);
    destination_info_toolbar.setText(destination_info);
    passenger_info_toolbar.setText(passenger_info);

    userName.setText(userFullName);
    userPhoneNumber.setText(mobileNumber);
}

private void Selectdate() {

    final SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd", Locale.US); //dd/MM/yyyy

    Calendar newCalendar = Calendar.getInstance();
    Dialog dobDatePickerDialog = new DatePickerDialog(PassengerDetails.this, new DatePickerDialog.OnDateSetListener() {

        public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
            Calendar newDate = Calendar.getInstance();
            newDate.set(year, monthOfYear, dayOfMonth);

            Date current = newDate.getTime();
            int diff1 =new Date().compareTo(current);

            if(diff1<0){
                Toast.makeText(PassengerDetails.this, "Please select a valid date",  Toast.LENGTH_LONG).show();
                return;
            }
            else{

                DOB_.setText(dateFormatter.format(newDate.getTime()));

            }

        }

    },newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));
    dobDatePickerDialog.show();
}


@Override
public void onClick(View v) {

    switch (v.getId()){
        case  R.id.book_button:

            paymentRedirect();

            break;


        case R.id.title_layout:
            showTitleMenu();
            break;
        case R.id.title:
            showTitleMenu();
            break;

        case R.id.dropDown:
            showTitleMenu();
            break;


    }

}

private void paymentRedirect() {


    String adult_firstname = "",adult_lastname="",adult_gender = "";
    String children_firstname = "",children_lastname="",children_gender = "";
    String infant_firstname = "",infant_lastname="", infant_gender = "";


    for (int i = 0; i < whole_layout.getChildCount(); i++) {
        adult_firstname = "";
        adult_lastname="";
        children_firstname = "";
        children_lastname= "";
        infant_firstname = "";
        infant_lastname ="";

        View my_view = whole_layout.getChildAt(i);
        EditText firstname = (EditText) my_view.findViewById(R.id.passengerFirstName);
        EditText lasttname = (EditText) my_view.findViewById(R.id.passengerLastName);
        DOB_ = (EditText)my_view.findViewById(R.id.dob);
        RadioGroup radioSexGroup0 = (RadioGroup) my_view.findViewById(R.id.radioSex);


        if (i < adult_no) {
            System.out.println("i value is  inside first loop " + i);
            adult_firstname = adult_firstname + firstname.getText().toString();
            adult_lastname = adult_lastname + lasttname.getText().toString();


            AdultFirstName.add(adult_firstname);
            AdultLastName.add(adult_lastname);
            AdultTitle.add(title_.getText().toString());
            AdultDOB.add(DOB_.getText().toString());
            int selectedId = radioSexGroup0.getCheckedRadioButtonId();
            if (title_.getText().toString().equalsIgnoreCase("Miss") || title_.getText().toString().equalsIgnoreCase("Mrs")||title_.getText().toString().equalsIgnoreCase("Ms")) {
                //2 stands for female
                adult_gender = "2";
            } else {
                adult_gender = "1";
            }
            AdultGender.add(Integer.valueOf(adult_gender));
        } else if (i < child_no + adult_no && child_no != 0) {

            System.out.println("i value is  inside second loop " + i);
            children_firstname = children_firstname + firstname.getText().toString();
            children_lastname = children_lastname + lasttname.getText().toString();
            ChildernFirstName.add(children_firstname);
            ChildernLastName.add(children_lastname);
            ChildrenTitle.add(title_.getText().toString());

            if (!isDobValid(DOB_.getText().toString())){
                DOB_.setError("Please enter date in dd-mm-yyyy formate !");
                DOB_.setText("");
            }else {
                ChildrenDOB.add(DOB_.getText().toString());
            }
            int selectedId = radioSexGroup0.getCheckedRadioButtonId();
            if (title_.getText().toString().equalsIgnoreCase("Miss") || title_.getText().toString().equalsIgnoreCase("Mrs")||title_.getText().toString().equalsIgnoreCase("Ms")) {
                //2 stand for female
                children_gender = "2";
            } else {
                children_gender = "1";
            }
            ChildGender.add(Integer.valueOf(children_gender));
        } else if (i < child_no + adult_no + infant_no && child_no != 0 && infant_no != 0) {

            System.out.println("i value is  inside third loop " + i);

            infant_firstname = infant_firstname + firstname.getText().toString();
            infant_lastname = infant_lastname + lasttname.getText().toString();
            InfantFirstName.add(infant_firstname);
            InfantLastName.add(infant_lastname);
            InfantTitle.add(title_.getText().toString());
            if (!isDobValid(DOB_.getText().toString())&& DOB_.getText().toString()!=""){
                DOB_.setError("Please enter date in dd-mm-yyyy formate !");
                DOB_.setText("");
            }else {
                InfantDOB.add(DOB_.getText().toString());
            }
            if (title_.getText().toString().equalsIgnoreCase("Miss") || title_.getText().toString().equalsIgnoreCase("Mrs")||title_.getText().toString().equalsIgnoreCase("Ms")) {
                //2 stand for female
                infant_gender = "2";
            } else {
                infant_gender = "1";
            }
            InfantGender.add(Integer.valueOf(infant_gender));
        }


    }


    System.out.println("adult_name is  " + adult_firstname+adult_lastname);
    System.out.println("adult_gender is  " + adult_gender);

    System.out.println("children_name is  " + children_firstname+children_lastname);
    System.out.println("children_gender is  " + children_gender);

    System.out.println("infant_name is  " + infant_firstname+infant_lastname);
    System.out.println("infant_gender is  " + infant_gender);

    System.out.println("list adult  " + AdultFirstName);
    System.out.println("list adult  " + AdultLastName);
    System.out.println("list child  " + ChildernFirstName);
    System.out.println("list child  " + ChildernLastName);
    System.out.println("list infant  " + InfantFirstName);
    System.out.println("list infant  " + InfantLastName);

    JSONArray tokenArray = new JSONArray();

    RequestParams params = new RequestParams();
    JSONArray Passengers = new JSONArray();

    for (int i = 0 ; i<adult_no;i++){
        JSONObject obj = new JSONObject();
        try {
            if (i == 0){
                obj.put("IsLeadPax", "1");
            }else {
                obj.put("IsLeadPax", "0");
            }

            obj.put("Title", AdultTitle.get(i));
            obj.put("FirstName", AdultFirstName.get(i));
            obj.put("LastName", AdultLastName.get(i));
            obj.put("PaxType", "1");
            obj.put("Gender", AdultGender.get(i));
            obj.put("DateOfBirth", AdultDOB.get(i));
            obj.put("PassportNumber", "2464817162");
            obj.put("PassportExpiry", "2028-10-20");
            obj.put("CountryCode", "IN");
            obj.put("CountryName", "India");
            obj.put("ContactNo", leadPaxEmail.getText().toString());
            obj.put("Email", leadPaxPhoneNumber.getText().toString());
            Passengers.put(i,obj);
        } catch (JSONException e) {
            e.printStackTrace();
        }

    }
    for (int i = 0 ; i<child_no;i++){
        JSONObject obj = new JSONObject();
        try {

            obj.put("Title", ChildrenTitle.get(i));
            obj.put("FirstName", ChildernFirstName.get(i));
            obj.put("LastName", ChildernLastName.get(i));
            obj.put("PaxType", "2");
            obj.put("Gender", ChildGender.get(i));
            if (ChildrenDOB.size()>=i) {
                obj.put("DateOfBirth", ChildrenDOB.get(i));
            }
            obj.put("PassportNumber", "2464817162");
            obj.put("PassportExpiry", "2028-10-20");
            obj.put("CountryCode", "IN");
            obj.put("CountryName", "India");
            obj.put("ContactNo", leadPaxEmail.getText().toString());
            obj.put("Email", leadPaxPhoneNumber.getText().toString());
            Passengers.put(i+child_no+1,obj);
        } catch (JSONException e) {
            e.printStackTrace();
        }

    }
    for (int i = 0 ; i<infant_no;i++){
        JSONObject obj = new JSONObject();
        try {

            obj.put("Title", InfantTitle.get(i));
            obj.put("FirstName", InfantFirstName.get(i));
            obj.put("LastName", InfantLastName.get(i));
            obj.put("PaxType", "3");
            obj.put("Gender", InfantGender.get(i));
            if(InfantDOB.size()>=i){
                obj.put("DateOfBirth", InfantDOB.get(i));
            }

            obj.put("PassportNumber", "2464817162");
            obj.put("PassportExpiry", "2028-10-20");
            obj.put("CountryCode", "IN");
            obj.put("CountryName", "India");
            obj.put("ContactNo", leadPaxEmail.getText().toString());
            obj.put("Email", leadPaxPhoneNumber.getText().toString());
            Passengers.put(i+child_no+infant_no+1,obj);
        } catch (JSONException e) {
            e.printStackTrace();
        }

    }

    if (child_no == ChildrenDOB.size() && infant_no == InfantDOB.size()) {
        tokenArray.put(tokenKeyPassengerOneWay);
        tokenArray.put(tokenKeyPassengerRoundTrip);
        String token = String.valueOf(tokenArray);

        params.put("TokenKey", "" + token);
        params.put("PaymentSuccessURL", "SuccessURL");
        params.put("PaymentFailureURL", "FailureURL");
        params.put("Passengers", "" + Passengers.toString());

        System.out.println("+++++++++++++++++++++++++++Passengers++" + Passengers.toString());
        System.out.println("+++++++++++++++++++++++++++params++" + params);
        System.out.println("+++++++++++++++++++++++++++tokenArray.put(tokenKey)++" + tokenArray);

        AsyncHttpClient client = new AsyncHttpClient();
        client.setURLEncodingEnabled(false);


        client.addHeader("APIKey", "a2VXRDdTTlhoVndRbU5SeW1mR04=");
        String url = Base_Urls.Save_Passeger_Details;
        client.post(this, url, params, new AsyncHttpResponseHandler() {

            @Override
            public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
                super.onSuccess(statusCode, headers, responseBody);
                String str = null;
                try {
                    str = new String(responseBody, "UTF-8");
                    System.out.println("+++++++++++++++++++++++++++params++" + str);
                    try {
                        JSONObject jsonObject = new JSONObject(str);
                        String Status = jsonObject.getString("Status");
                        //  JSONObject SavePassengerDetails = jsonObject.getJSONObject("SavePassegerDetails");
                        //  String Error = SavePassengerDetails.getString("Error");
                        if (Status.equalsIgnoreCase("1")) {

                            JSONObject PaymentGatewayDetails = jsonObject.getJSONObject("PaymentGatewayDetails");
                            JSONObject FormParams = PaymentGatewayDetails.getJSONObject("FormParams");
                            JSONObject RawRequest = FormParams.getJSONObject("RawRequest");
                            encRequest = FormParams.getString("encRequest");
                            access_code = FormParams.getString("access_code");
                            MERCHANT_ID = RawRequest.getString("merchant_id");
                            amount = "1";
                            CURRENCY = RawRequest.getString("currency");
                            REDIRECT_URL = RawRequest.getString("redirect_url");
                            CANCEL_URL = RawRequest.getString("cancel_url");
                            FormURL = PaymentGatewayDetails.getString("FormURL");
                            ORDER_ID = RawRequest.getString("order_id");

                            System.out.println("+++++++++++++++++++++++++++params++" + encRequest + "+++" + access_code + "+++" + MERCHANT_ID + "+++" + amount + "+++" + CURRENCY + "+++" + REDIRECT_URL + "+++" + CANCEL_URL + "+++" + FormURL + "+++" + ORDER_ID);

                            callPaymentGateWay();
                        } else if (Status.equalsIgnoreCase("0")) {
                            show_alert("issue");
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }

                } catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                }

                System.out.println("++++++++++++++++++++entity+++" + statusCode);
                System.out.println("++++++++++++++++++++entity+++" + str);

            }

            @Override
            public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
                super.onFailure(statusCode, headers, responseBody, error);
                System.out.println("++++++++++++++++++++error+++" + error);
                System.out.println("++++++++++++++++++++responseBody+++" + responseBody);
                System.out.println("++++++++++++++++++++statusCode+++" + statusCode);
            }
        });
    }
}

private void callPaymentGateWay() {

    Intent in = new Intent(PassengerDetails.this, WebViewActivity.class);

    if( !access_code.equals("")&&access_code!=null && !MERCHANT_ID.equals("")&&MERCHANT_ID!=null && !ORDER_ID.equals("")&&ORDER_ID!=null) {

        in.putExtra(AvenuesParams.ENC_VAL, encRequest);
        in.putExtra(AvenuesParams.ACCESS_CODE, access_code);
        in.putExtra(AvenuesParams.MERCHANT_ID, MERCHANT_ID);
        in.putExtra(AvenuesParams.ORDER_ID, ORDER_ID);
        in.putExtra(AvenuesParams.AMOUNT, "1");
        in.putExtra(AvenuesParams.CURRENCY, CURRENCY);
        in.putExtra(AvenuesParams.REDIRECT_URL, REDIRECT_URL);
        in.putExtra(AvenuesParams.CANCEL_URL, CANCEL_URL);
        in.putExtra(AvenuesParams.RSA_KEY_URL, "https://secure.ccavenue.com/transaction/jsp/GetRSA.jsp");





        startActivity(in);
    }
}

private boolean isDobValid(String s) {


    boolean isValidDateFormate = false;
    DateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
    formatter.setLenient(false);
    try {
        Date date= formatter.parse(s);
        isValidDateFormate = true;
    } catch (java.text.ParseException e) {
        isValidDateFormate = false;
        //  Toast.makeText(this,"Please enter date in dd-mm-yyyy formate !!",Toast.LENGTH_LONG);
        e.printStackTrace();
    }
    return isValidDateFormate;
}

private void showTitleMenu() {
    PopupMenu popup = new PopupMenu(PassengerDetails.this, title_layout);
    //Inflating the Popup using xml file
    popup.getMenu().add("Miss");
    popup.getMenu().add("Mr.");
    popup.getMenu().add("Mrs.");
    popup.getMenuInflater()
            .inflate(R.menu.title_popup_menu, popup.getMenu());
    //registering popup with OnMenuItemClickListener
    popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
        public boolean onMenuItemClick(MenuItem item) {
            title_.setText(item.getTitle());
            return true;
        }
    });

    popup.show();
}



}

}

1 个答案:

答案 0 :(得分:0)

这里是第一个解决方案,您需要将标签添加到DOB并在本地进行制作

EditText DOB_ = (EditText)view.findViewById(R.id.dob);
DOB_.setTag(children);  // it is the position of the view.

现在,当您单击DOB_时,获取标记并将其存储在全局变量中

 int selectedPos;

DOB_.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
             .
             .
             .
             selectedPos = DOB_.getTag();
             setCanlenderDate();

             //   DOB_.requestFocusFromTouch();
            }
        });

然后在最后一个函数中

@Override
public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {

    String[] MONTHS = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};

View view = whole_layout.getChildAt(selectedPos);
EditText DOB_ = (EditText)view.findViewById(R.id.dob);

    DOB_.setText(i2 + "-" + i1 + 1 + "-" + i); // problem is here , the edittext is holding last position of inflated view

}