I have a Listview that shows a list. So when I click on the list, I have customDialog.In that I take some values ββfrom the user. Therefore, as soon as the user enters data and presses the ok button, then I have to update the value of this item from the list and when the entire list item has been updated, then compare it with the previous value to check whether the entire item is updated or not. Help me with this, how can I do it
Action code
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_iween_booking_page); intent = getIntent(); isReturn = (Boolean) intent.getExtras().get("isReturn"); searchParam = (HashMap<String,String>) intent.getExtras().get("searchParam"); listView = (ListView) findViewById(R.id.passengerList); emailId = (TextView)findViewById(R.id.emailid); continuebooking = (ImageView)findViewById(R.id.continuebooking); firstName= (EditText)findViewById(R.id.firstName); lastName =(EditText)findViewById(R.id.LastName); mobileNumber =(EditText)findViewById(R.id.mobileNumber); setTittle(); if(searchParam.get("NoOfChild").equals("0") && searchParam.get("NoOfInfant").equals("0")&& searchParam.get("NoOfAdult").equals("1")){ } else { passengerList = getPassengerList(passengerInfo); showPassengerListView(passengerList); } continuebooking.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { if(searchParam.get("NoOfChild").equals("0") && searchParam.get("NoOfInfant").equals("0") && searchParam.get("NoOfAdult").equals("1")){ if(firstName.getText().toString().trim().equalsIgnoreCase("")){ firstName.setError("Enter FirstName"); } if(lastName.getText().toString().trim().equalsIgnoreCase("")){ lastName.setError("Enter LastName"); } if(mobileNumber.getText().toString().trim().equalsIgnoreCase("")){ mobileNumber.setError("Enter Mobile No."); } }else{ int count = listView.getAdapter().getCount(); listData = new String[count]; for (int i = 0; i < count; i++) { listData[i] = listView.getAdapter().getItem(i).toString(); } for(int i=0;i<listView.getAdapter().getCount();i++){ for(int j=0;j<count;j++){ if(listData[j]==listView.getAdapter().getItem(i).toString()){ Log.d("listData data", listView.getAdapter().getItem(i).toString()); // View v=listView.getChildAt(i); // TextView tv=(TextView) v.findViewById(android.R.id.text1); // tv.setError("Please change the data"); } } } } } }); } private void showPassengerListView(final String[] passengerList) { adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, android.R.id.text1, passengerList); listView.setAdapter(adapter); listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // int itemPosition = position; // String itemValue = (String) listView.getItemAtPosition(position); View v=listView.getChildAt(position); TextView tv=(TextView) v.findViewById(android.R.id.text1); tv.setError(null); passengerInformationPopup(passengerList,position); } }); } public void passengerInformationPopup(final String[] passengerList, final int position) { final Dialog dialog= new Dialog(Test.this,R.style.Dialog_Fullscreen); dialog.setContentView(R.layout.passenger_details_dialog); final EditText firstNameDialog; final EditText lastNameDialog; ImageView continueBooking; dateofBirth = (TextView)dialog.findViewById(R.id.dateofBirth); firstNameDialog = (EditText)dialog.findViewById(R.id.firstName); lastNameDialog =(EditText)dialog.findViewById(R.id.LastName); continueBooking =(ImageView)dialog.findViewById(R.id.continuebooking); if((passengerList[position].contains("Child"))|| (passengerList[position].contains("Infant"))){ dateofBirth.setVisibility(View.VISIBLE); }else{ dateofBirth.setVisibility(View.GONE); } dateofBirth.setClickable(true); dialog.show(); continueBooking.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { isSuccess= true; if(firstNameDialog.getText().toString().trim().equalsIgnoreCase("")){ firstNameDialog.setError("Enter FirstName"); isSuccess= false; } if(lastNameDialog.getText().toString().trim().equalsIgnoreCase("")){ lastNameDialog.setError("Enter LastName"); isSuccess= false; } if((passengerList[position].contains("Child"))|| (passengerList[position].contains("Infant"))){ if(dateofBirth.getText().toString().trim().equalsIgnoreCase("")){ dateofBirth.setError("Date of Birth Can't be blank"); isSuccess= false; } } if(isSuccess){ dialog.cancel(); View v=listView.getChildAt(position); TextView tv= (TextView) v.findViewById(android.R.id.text1); tv.setText(firstNameDialog.getText().toString().trim().toString()+" "+lastNameDialog.getText().toString().trim().toString()); } } }); }
Passenger input function. I need to update the values ββof ListView items. In the process of creating continueBooking, I need to check if all items are updated or not.
Before upgrade After upgrade
source share