有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java希望保留我在编辑访问页面时选择的数据

我有屏幕访问,它有来自spinner API的spinner数据。我想编辑和更改数据,但当我执行编辑时,它不会显示特定列的任何数据。它没有保留价值。请帮助我如何继续

package com.example.demoprojects;
import 安卓x.appcompat.app.AppCompatActivity;
import 安卓x.fragment.app.DialogFragment;
import 安卓.annotation.SuppressLint;
import 安卓.app.DatePickerDialog;
import 安卓.app.Dialog;
import 安卓.app.TimePickerDialog;
import 安卓.content.Context;
import 安卓.content.Intent;
import 安卓.os.AsyncTask;
import 安卓.os.Bundle;
import 安卓.os.Handler;
import 安卓.text.Editable;
import 安卓.text.TextWatcher;
import 安卓.text.format.DateFormat;
import 安卓.util.Log;
import 安卓.view.View;
import 安卓.widget.AdapterView;
import 安卓.widget.ArrayAdapter;
import 安卓.widget.DatePicker;
import 安卓.widget.EditText;
import 安卓.widget.ImageView;
import 安卓.widget.Spinner;
import 安卓.widget.TextView;
import 安卓.widget.TimePicker;
import 安卓.widget.Toast;
import com.example.demoprojects.extra.Constant;
import com.example.demoprojects.extra.SessionManager;
import com.example.demoprojects.extra.ViewDialog;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.text.DateFormatSymbols;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
public class AddVisitsActivity extends AppCompatActivity {
    EditText edt_customer_name, edt_subject, edtDescription;
    Spinner spinnerPurpose;
    ViewDialog viewDialog;
    SessionManager sessionManager;
    String value, categoty = "Select Purpose", categoryid;
    HashMap<String, String> purposeHashCategory = new HashMap<String, String>();
    List<String> purposeCategories = new ArrayList<String>();
    ArrayAdapter<String> purposeDataAdapter;
    TextView txt_dates;
    TextView txt_end_dates;
    static TextView start_time;
    static TextView end_time;
    int currentItem = 0;
    ImageView back, imgSubmit;
    String custId, custName, address;
    String editCustName, editCustId, editVisitDate, editStartTime,
            editEndTime, editPurpose, editPurposeId, editDescription;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_add_visits);
        edt_customer_name = findViewById(R.id.edt_customer_name);
        spinnerPurpose = findViewById(R.id.spinnerPurpose);
        txt_dates = findViewById(R.id.txt_dates);
        txt_end_dates = findViewById(R.id.txt_end_dates);
        start_time = findViewById(R.id.start_time);
        end_time = findViewById(R.id.end_time);
        edt_subject = findViewById(R.id.edt_subject);
        back = findViewById(R.id.back);
        imgSubmit = findViewById(R.id.imgSubmit);
        edtDescription = findViewById(R.id.edtDescription);
        viewDialog = new ViewDialog(this);
        sessionManager = new SessionManager(this);
        back.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                onBackPressed();
            }
        });
        edt_customer_name.setOnClickListener(new View.OnClickListener() {I want to edit the
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(getApplicationContext(), SearchCustomerActivity.class);
                startActivity(intent);
            }
        });
        showCurrentdate();
        showCurrentTime();
        txt_dates.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View arg0) {

                showDate(AddVisitsActivity.this, txt_dates);
            }
        });
        txt_end_dates.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View arg0) {

                showDate(AddVisitsActivity.this, txt_end_dates);

            }
        });
        start_time.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                TimePickerFragment timePickerFragment = new TimePickerFragment();
                timePickerFragment.show(getSupportFragmentManager(), "TimePicker");
            }
        });
        end_time.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                TimePickerFragments timePickerFragment = new TimePickerFragments();
                timePickerFragment.show(getSupportFragmentManager(), "TimePicker");
            }
        });
        if (getIntent().getStringExtra("customerName") != null || getIntent().getStringExtra("customerId") != null) {

            editCustName = getIntent().getStringExtra("customerName");
            editCustId = getIntent().getStringExtra("customerId");
            editVisitDate = getIntent().getStringExtra("visitDate");
            editStartTime = getIntent().getStringExtra("startTime");
            editEndTime = getIntent().getStringExtra("endTime");
            editPurpose = getIntent().getStringExtra("purpose");
            editPurposeId = getIntent().getStringExtra("purposeId");
            editDescription = getIntent().getStringExtra("description");
            edt_customer_name.setText(editCustName);
//            spinnerPurpose.setSelection(purposeCategories.indexOf(editPurposeId), true);//here is the problem
            txt_dates.setText(editVisitDate);
            start_time.setText(editStartTime);
            end_time.setText(editEndTime);
            edt_subject.setText(editPurpose);
            edtDescription.setText(editDescription);
            Log.d("sskksk",editPurposeId);

        }
        new getPurposeList().execute();
        spinnerPurpose.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent,l̥ View view, int position, long id) {
                categoty = spinnerPurpose.getItemAtPosition(spinnerPurpose.getSelectedItemPosition()).toString();
                categoryid = purposeHashCategory.get(categoty);
                Log.d("CheckSpinner", categoty);

                if (currentItem == position) {
                    edt_subject.setHint("Subject");
                    return; //do nothing
                } else {
                    edt_subject.setText(categoty);
                    //write your code here
                }
                currentItem = position;
            }
            @Override
            public void onNothingSelected(AdapterView<?> parent) {
            }
        });

        if (getIntent().getStringExtra("custId") != null || getIntent().getStringExtra("custName") != null) {
            custId = getIntent().getStringExtra("custId");
            custName = getIntent().getStringExtra("custName");
            edt_customer_name.setText(custName);
            Log.d("custName", custName);
        } else {
            Log.d("dkdkkd", "nothing");
        }
        imgSubmit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (edt_customer_name.getText().length() == 0) {
                    Toast.makeText(AddVisitsActivity.this, "Enter Customer Name", Toast.LENGTH_SHORT).show();
                } else if (categoty.equalsIgnoreCase("Select Purpose")) {
                    Toast.makeText(AddVisitsActivity.this, "Select Purpose", Toast.LENGTH_SHORT).show();
                } else if (txt_dates.getText().length() == 0) {
                    Toast.makeText(AddVisitsActivity.this, "Select Start date", Toast.LENGTH_SHORT).show();
                } else if (start_time.getText().length() == 0) {
                    Toast.makeText(AddVisitsActivity.this, "Select Start Time", Toast.LENGTH_SHORT).show();
                } else if (end_time.getText().length() == 0) {
                    Toast.makeText(AddVisitsActivity.this, "Select End Time", Toast.LENGTH_SHORT).show();
                } else if (edt_subject.getText().length() == 0) {
                    Toast.makeText(AddVisitsActivity.this, "Select Subject", Toast.LENGTH_SHORT).show();
                } else {
                    new AddVisits().execute();
                }
            }
        });
    }
    public static void showDate(final Context context, final TextView textView) {
        final Calendar calendar = Calendar.getInstance();
        int yy = calendar.get(Calendar.YEAR);
        int mm = calendar.get(Calendar.MONTH);
        int dd = calendar.get(Calendar.DAY_OF_MONTH);
        DatePickerDialog datePicker = new DatePickerDialog(context, new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                String[] mons = new DateFormatSymbols(Locale.).getShortMonths();
                String mName = mons[mm];
                String date = String.valueOf(dayOfMonth) + " " + String.valueOf(mName)
                        + " " + String.valueOf(year);
                textView.setText(date);
                Log.d("djkjiksd", date);

            }
        }, yy, mm, dd);
        datePicker.show();
    }
    public class getPurposeList extends AsyncTask<String, String, String> {
        protected void onPreExecute() {
        }
        @SuppressLint("WrongThread")
        @Override
        protected String doInBackground(String... params) {
            ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
            nameValuePairs.add(new BasicNameValuePair("auth_key", sessionManager.getAuth_key()));
            try {
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost(Constant.purpose_list);
//                httppost.setHeader("X-API-KEY", "admin@123");
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                HttpResponse response = httpclient.execute(httppost);
                value = EntityUtils.toString(response.getEntity());
                Log.d("loginn", "In the try Loop" + value);
            } catch (Exception e) {
                Log.d("userlogin", "Error in http connection " + e.toString());
            }
            return value;
        }
        protected void onPostExecute(String result) {
            super.onPostExecute(result);
            purposeCategories.clear();
            try {
                Log.d("gdfsgdfg", result);

                JSONArray array = new JSONArray(result);

                if (array.length() > 0) {
                    for (int j = 0; j < array.length(); j++) {
                        JSONObject object = array.getJSONObject(j);

                        String purpose = object.getString("purpose");
                        String id = object.getString("id");

                        purposeCategories.add(purpose);
                        purposeHashCategory.put(purpose, id);
                    }
                    purposeCategories.add(0, "Select Purpose");
                    purposeDataAdapter = new ArrayAdapter<String>(AddVisitsActivity.this, R.layout.purpose_layout, purposeCategories);
                    purposeDataAdapter.setDropDownViewResource(R.layout.purpose_dropdown_layout);
                    spinnerPurpose.setAdapter(purposeDataAdapter);
} else {
                    Toast.makeText(AddVisitsActivity.this, "No Data for this search",
                           Toast.LENGTH_LONG).show();
                }
            } catch (JSONException e) {
                Log.d("djkfnm", e.toString());
                e.printStackTrace();
            }}}
    public class AddVisits extends AsyncTask<String, String, String> {
        protected void onPreExecute() {
        }
        @SuppressLint("WrongThread")
        @Override
        protected String doInBackground(String... params) {
            ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
            nameValuePairs.add(new BasicNameValuePair("user_id", sessionManager.getUserID()));
            nameValuePairs.add(new BasicNameValuePair("auth_key", sessionManager.getAuth_key()));
            nameValuePairs.add(new BasicNameValuePair("customername", custId));
            nameValuePairs.add(new BasicNameValuePair("selectpurpose", categoryid));
            nameValuePairs.add(new BasicNameValuePair("startdate", txt_dates.getText().toString()));
            nameValuePairs.add(new BasicNameValuePair("starttime", start_time.getText().toString()));
            nameValuePairs.add(new BasicNameValuePair("endtime", end_time.getText().toString()));
            nameValuePairs.add(new BasicNameValuePair("subject", edt_subject.getText().toString()));
            nameValuePairs.add(new BasicNameValuePair("description", edtDescription.getText().toString()));
            nameValuePairs.add(new BasicNameValuePair("address", sessionManager.getAddress()));
            try {
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost(Constant.add_visit);
//                httppost.setHeader("X-API-KEY", "admin@123");
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                HttpResponse response = httpclient.execute(httppost);
                value = EntityUtils.toString(response.getEntity());
                Log.d("AddVisitsa", "In the try Loop" + value);
            } catch (Exception e) {
                Log.d("AddVisitsss", "Error in http connection " + e.toString());
            }
            return value;
        }
        protected void onPostExecute(String result) {
            super.onPostExecute(result);
            try {
                Log.d("afdsfga", result);
                JSONObject jsonObject = new JSONObject(result);
                String status = jsonObject.getString("status");
                if (status.equalsIgnoreCase("success")) {
                    String message = jsonObject.getString("message");
                    Toast.makeText(AddVisitsActivity.this, message, Toast.LENGTH_SHORT).show();
                    Intent intent = new Intent(getApplicationContext(), DashBoard.class);
                    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
                    startActivity(intent);
                    finish();
                }
            } catch (Exception e) {
                Log.d("MateriralDesign", e.toString());

            }}}
    public void showCurrentdate() {
        SimpleDateFormat format = new SimpleDateFormat("d");
        String date = format.format(new Date());
        if (date.endsWith("1") && !date.endsWith("11"))
            format = new SimpleDateFormat("d  MMMM yyyy");
        else if (date.endsWith("2") && !date.endsWith("12"))
            format = new SimpleDateFormat(" d MMMM yyyy");
        else if (date.endsWith("3") && !date.endsWith("13"))
            format = new SimpleDateFormat(" d MMMM yyyy");
        else
            format = new SimpleDateFormat(" d MMMM yyyy");
        String startDate = format.format(new Date());
        String endDate = format.format(new Date());
        txt_dates.setText(startDate);
        txt_end_dates.setText(endDate);
    }
    public void showCurrentTime() {
        Date dt = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("hh:mm aa");
        String startTime = sdf.format(dt);
        String endTime = sdf.format(dt);
        start_time.setText(startTime);
        try {
            Date date = new Date();
            date = sdf.parse(startTime);
            final Calendar calendar = Calendar.getInstance();
            calendar.setTime(date);
            calendar.add(Calendar.HOUR, 1);
            Log.d("sdkljfdlskjf", sdf.format(calendar.getTime()));
            end_time.setText(sdf.format(calendar.getTime()));
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }
    public static class TimePickerFragment extends DialogFragment
            implements TimePickerDialog.OnTimeSetListener {

        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
            // Use the current time as the default values for the picker
            final Calendar c = Calendar.getInstance();
            int hour = c.get(Calendar.HOUR);
            int minute = c.get(Calendar.MINUTE);

            // Create a new instance of TimePickerDialog and return it
            return new TimePickerDialog(getActivity(), this, hour, minute,
                    DateFormat.is24HourFormat(getActivity()));
        }
        public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
            Calendar calendar = Calendar.getInstance();
            calendar.set(0, 0, 0, hourOfDay, minute);
            start_time.setText((String) DateFormat.format("hh:mm aaa", calendar));
        }
    }
    public static class TimePickerFragments extends DialogFragment
            implements TimePickerDialog.OnTimeSetListener {

        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
            // Use the current time as the default values for the picker
            final Calendar c = Calendar.getInstance();
            int hour = c.get(Calendar.HOUR);
            int minute = c.get(Calendar.MINUTE);

            // Create a new instance of TimePickerDialog and return it
            return new TimePickerDialog(getActivity(), this, hour, minute,
                    DateFormat.is24HourFormat(getActivity()));
        }
        public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
            Calendar calendar = Calendar.getInstance();
            calendar.set(0, 0, 0, hourOfDay, minute);
            end_time.setText((String) DateFormat.format("hh:mm aaa", calendar));
       }
    }
}

我想编辑访问列表。但我必须设置与我之前选择的相同的数据

 case R.id.edit_visit_relative:
                Intent intent = new Intent(getApplicationContext(), AddVisitsActivity.class);
                intent.putExtra("customerName", custName);
                intent.putExtra("customerId", custId);
                intent.putExtra("visitDate", visitDate);
                intent.putExtra("startTime", startTime);
                intent.putExtra("endTime", endTime);
                intent.putExtra("purpose", purpose);
                intent.putExtra("purposeId", purposeId);
                intent.putExtra("description", description);
                startActivity(intent);
                break;

共 (0) 个答案