mirror of
https://github.com/Nezumi-2711/Foodify.git
synced 2026-09-22 05:31:59 +00:00
Add edit address for user
This commit is contained in:
Generated
-11
@@ -1,17 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="deploymentTargetDropDown">
|
||||
<runningDeviceTargetSelectedWithDropDown>
|
||||
<Target>
|
||||
<type value="RUNNING_DEVICE_TARGET" />
|
||||
<deviceKey>
|
||||
<Key>
|
||||
<type value="VIRTUAL_DEVICE_PATH" />
|
||||
<value value="C:\Users\phanh\.android\avd\Pixel_5_API_31.avd" />
|
||||
</Key>
|
||||
</deviceKey>
|
||||
</Target>
|
||||
</runningDeviceTargetSelectedWithDropDown>
|
||||
<targetSelectedWithDropDown>
|
||||
<Target>
|
||||
<type value="QUICK_BOOT_TARGET" />
|
||||
|
||||
@@ -87,7 +87,7 @@ public class AddressManagerActivity extends AppCompatActivity {
|
||||
add_address_button.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View view) {
|
||||
showAddAddressDialog();
|
||||
showAddAddressDialog(null, null, null);
|
||||
}
|
||||
});
|
||||
|
||||
@@ -152,7 +152,7 @@ public class AddressManagerActivity extends AppCompatActivity {
|
||||
});
|
||||
}
|
||||
|
||||
private void showAddAddressDialog(){
|
||||
public void showAddAddressDialog(String addressUser, String wardUser, String districtUser){
|
||||
View view = LayoutInflater.from(this).inflate(R.layout.add_address_dialog,null);
|
||||
|
||||
//Init component
|
||||
@@ -166,19 +166,31 @@ public class AddressManagerActivity extends AppCompatActivity {
|
||||
//Set font
|
||||
textInput_address.setTypeface(Common.setFontOpenSans(getAssets()));
|
||||
|
||||
//Load district and ward
|
||||
if(districtList.size() == 0){
|
||||
getListDistrict();
|
||||
if(addressUser == null && wardUser == null && districtUser == null){
|
||||
//Load district and ward
|
||||
if(districtList.size() == 0){
|
||||
getListDistrict("---Quận");
|
||||
} else {
|
||||
setAdapter(districtList, "---Quận", districtSpinner);
|
||||
}
|
||||
getListWard(0, "---Phường");
|
||||
} else {
|
||||
setAdapter(districtList, "---Quận", districtSpinner);
|
||||
//Set default value ward and district depend on information from user
|
||||
|
||||
edt_address.setText(addressUser);
|
||||
|
||||
if(districtList.size() == 0){
|
||||
getListDistrict(districtUser);
|
||||
} else {
|
||||
setAdapter(districtList, districtUser, districtSpinner);
|
||||
}
|
||||
}
|
||||
getListWard(0);
|
||||
|
||||
//Set event when click on district spinner
|
||||
districtSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
||||
@Override
|
||||
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
|
||||
getListWard(i);
|
||||
getListWard(i, wardUser);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -191,8 +203,16 @@ public class AddressManagerActivity extends AppCompatActivity {
|
||||
|
||||
//Create dialog
|
||||
customViewDialog.Builder(this);
|
||||
|
||||
//Set title
|
||||
customViewDialog.setTitle("Thêm địa chỉ");
|
||||
if(addressUser == null && wardUser == null && districtUser == null){
|
||||
//If this is the create address form
|
||||
customViewDialog.setTitle("Thêm địa chỉ");
|
||||
} else {
|
||||
//If this is a edit form
|
||||
customViewDialog.setTitle("Thay đổi địa chỉ");
|
||||
}
|
||||
|
||||
//Create dialog width two buttons
|
||||
customViewDialog.dialogWithTwoButtons();
|
||||
//Add custom view
|
||||
@@ -211,14 +231,21 @@ public class AddressManagerActivity extends AppCompatActivity {
|
||||
@Override
|
||||
public void onLeftButtonClick() {
|
||||
|
||||
//Get data
|
||||
address = edt_address.getText().toString();
|
||||
ward = wardSpinner.getSelectedItem().toString();
|
||||
district = districtSpinner.getSelectedItem().toString();
|
||||
if(addressUser == null && wardUser == null && districtUser == null){
|
||||
//If this is the create address form
|
||||
|
||||
if(validData(address, ward, district)){
|
||||
addAddress(address, ward, district);
|
||||
customViewDialog.dismiss();
|
||||
//Get data
|
||||
address = edt_address.getText().toString();
|
||||
ward = wardSpinner.getSelectedItem().toString();
|
||||
district = districtSpinner.getSelectedItem().toString();
|
||||
|
||||
if(validData(address, ward, district)){
|
||||
addAddress(address, ward, district);
|
||||
customViewDialog.dismiss();
|
||||
}
|
||||
} else {
|
||||
//If this is a edit form
|
||||
//TODO Add edit address function
|
||||
}
|
||||
}
|
||||
|
||||
@@ -255,7 +282,7 @@ public class AddressManagerActivity extends AppCompatActivity {
|
||||
return dataHasValidate;
|
||||
}
|
||||
|
||||
private void getListDistrict() {
|
||||
private void getListDistrict(String defaultValue) {
|
||||
|
||||
districtList.add("---Quận");
|
||||
|
||||
@@ -269,7 +296,7 @@ public class AddressManagerActivity extends AppCompatActivity {
|
||||
}
|
||||
}
|
||||
|
||||
setAdapter(districtList, "---Quận", districtSpinner);
|
||||
setAdapter(districtList, defaultValue, districtSpinner);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -279,7 +306,7 @@ public class AddressManagerActivity extends AppCompatActivity {
|
||||
});
|
||||
}
|
||||
|
||||
private void getListWard(int districtCode) {
|
||||
private void getListWard(int districtCode, String defaultValue) {
|
||||
|
||||
if(wardList.size() > 1)
|
||||
wardList.clear();
|
||||
@@ -306,7 +333,7 @@ public class AddressManagerActivity extends AppCompatActivity {
|
||||
} else {
|
||||
wardSpinner.setEnabled(true);
|
||||
}
|
||||
setAdapter(wardList, "---Phường", wardSpinner);
|
||||
setAdapter(wardList, defaultValue, wardSpinner);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -15,6 +15,7 @@ import androidx.annotation.NonNull;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.capstone.foodify.Activity.AddressManagerActivity;
|
||||
import com.capstone.foodify.Common;
|
||||
import com.capstone.foodify.Model.Address;
|
||||
import com.capstone.foodify.R;
|
||||
@@ -60,7 +61,9 @@ public class AddressAdapter extends RecyclerView.Adapter<AddressAdapter.AddressV
|
||||
holder.edit_btn.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
showAddAddressDialog();
|
||||
if(context instanceof AddressManagerActivity){
|
||||
((AddressManagerActivity)context).showAddAddressDialog(address.getAddress(), address.getWard(), address.getDistrict());
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -73,85 +76,6 @@ public class AddressAdapter extends RecyclerView.Adapter<AddressAdapter.AddressV
|
||||
return 0;
|
||||
}
|
||||
|
||||
private void showAddAddressDialog(){
|
||||
View view = LayoutInflater.from(context).inflate(R.layout.add_address_dialog,null);
|
||||
|
||||
//Init component
|
||||
TextInputLayout textInput_address = view.findViewById(R.id.textInput_address);
|
||||
Spinner wardSpinner = view.findViewById(R.id.ward);
|
||||
Spinner districtSpinner = view.findViewById(R.id.district);
|
||||
EditText edt_address = view.findViewById(R.id.edt_address);
|
||||
TextView errorTextDistrictWard = view.findViewById(R.id.errorTextDistrictWard);
|
||||
ConstraintLayout progressLayoutDialog = view.findViewById(R.id.progress_layout);
|
||||
|
||||
//Set font
|
||||
// textInput_address.setTypeface(Common.setFontOpenSans(getAssets()));
|
||||
|
||||
//Load district and ward
|
||||
// if(districtList.size() == 0){
|
||||
// getListDistrict();
|
||||
// } else {
|
||||
// setAdapter(districtList, "---Quận", districtSpinner);
|
||||
// }
|
||||
// getListWard(0);
|
||||
//
|
||||
// //Set event when click on district spinner
|
||||
// districtSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
|
||||
// @Override
|
||||
// public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
|
||||
// getListWard(i);
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// public void onNothingSelected(AdapterView<?> adapterView) {
|
||||
//
|
||||
// }
|
||||
// });
|
||||
|
||||
CustomViewDialog customViewDialog = new CustomViewDialog();
|
||||
|
||||
//Create dialog
|
||||
customViewDialog.Builder(context);
|
||||
//Set title
|
||||
customViewDialog.setTitle("Thêm địa chỉ");
|
||||
//Create dialog width two buttons
|
||||
customViewDialog.dialogWithTwoButtons();
|
||||
//Add custom view
|
||||
customViewDialog.addCustomView(view);
|
||||
//Set left button text
|
||||
customViewDialog.setLeftButtonText("Thêm");
|
||||
//Set right button text
|
||||
customViewDialog.setRightButtonText("Trở về");
|
||||
//Set color for left button
|
||||
// customViewDialog.setLeftButtonColor(getResources().getColor(R.color.primaryColor, null));
|
||||
// //Set color for right button
|
||||
// customViewDialog.setRightButtonColor(getResources().getColor(R.color.gray, null));
|
||||
|
||||
//Set event button
|
||||
customViewDialog.onButtonClick(new DialogButtonEvents() {
|
||||
@Override
|
||||
public void onLeftButtonClick() {
|
||||
|
||||
//Get data
|
||||
// address = edt_address.getText().toString();
|
||||
// ward = wardSpinner.getSelectedItem().toString();
|
||||
// district = districtSpinner.getSelectedItem().toString();
|
||||
//
|
||||
// if(validData(address, ward, district)){
|
||||
// addAddress(address, ward, district);
|
||||
// customViewDialog.dismiss();
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRightButtonClick() {
|
||||
customViewDialog.dismiss();
|
||||
}
|
||||
});
|
||||
|
||||
customViewDialog.show();
|
||||
}
|
||||
|
||||
public class AddressViewHolder extends RecyclerView.ViewHolder{
|
||||
|
||||
private TextView text_view_address, default_text_view, blank_text_view;
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
android:gravity="end"
|
||||
android:paddingEnd="25dp"
|
||||
android:contentDescription="district"
|
||||
android:layout_weight="0.4"
|
||||
android:layout_weight="0.43"
|
||||
/>
|
||||
|
||||
<Spinner
|
||||
@@ -65,7 +65,7 @@
|
||||
android:gravity="end"
|
||||
android:paddingEnd="25dp"
|
||||
android:contentDescription="ward"
|
||||
android:layout_weight="0.6"
|
||||
android:layout_weight="0.57"
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
Reference in New Issue
Block a user