Pass Data from Dialog to new Activity

2019-10-03 08:22发布

I am trying pass data from my dialog box to a new Activity. So basically what i want to do for example in my Dialog box i have Name: John, when i click on my okay button it opens a new activity but i want that John to be set in my edit box on my new activity:

Here is my Activity where my Dialog box code is:

 list.setOnItemClickListener(new AdapterView.OnItemClickListener() {



        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            /** To change selected state view */
            view.setSelected(true);
            HashMap<String, Object> obj = (HashMap<String, Object>) ADAhere.getItem(position);
            String SlectedName = (String) obj.get("NAME");
            String SlectedPrice = (String) obj.get("PRICE");
            String SlectedSize = (String) obj.get("SIZE");
            String SlectedRange = (String) obj.get("RANGE");
            String SlectedSupp = (String) obj.get("SUPPLIER");
           // Toast.makeText(getActivity().getApplicationContext(), SlectedName, Toast.LENGTH_SHORT).show();

            final Dialog dialog = new Dialog(getActivity());
            dialog.getWindow();
            //dialog.setTitle("Confirm your Vote");
            dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
            dialog.setContentView(R.layout.diaglog);

            final TextView VName = (TextView) dialog.findViewById(R.id.Name);
            final TextView VRange = (TextView) dialog.findViewById(R.id.Range);
            final TextView VSUPPLIER = (TextView) dialog.findViewById(R.id.Supplier);
            final TextView VSIZE = (TextView) dialog.findViewById(R.id.Size);
            final TextView VPrice = (TextView) dialog.findViewById(R.id.Price);


            VName.setText(SlectedName);
            VRange.setText(SlectedRange);
            VSUPPLIER.setText(SlectedSupp);
            VSIZE.setText(SlectedSize);
            VPrice.setText(SlectedPrice);
            dialog.show();
            Button cancelBtn = (Button) dialog.findViewById(R.id.cancel_btn);
            cancelBtn.setOnClickListener(new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    dialog.dismiss();
                }
            });
            Button UpdateBtn = (Button) dialog.findViewById(R.id.btn_update);
            UpdateBtn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent i = new Intent(getActivity().getApplicationContext(),Upvalence.class);
                    startActivity(i);
                }
            });
            Button deleteBtn = (Button) dialog.findViewById(R.id.btn_delete);
            deleteBtn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent i = new Intent(getActivity().getApplicationContext(),Upvalence.class);
                    startActivity(i);
                }
            });


            dialog.show();

        }
    });

so i want to pass VName.setText(SlectedName); to a new activity:

 name1.setText(dialogactivityname);

1条回答
成全新的幸福
2楼-- · 2019-10-03 08:42

Pass in as an extra:

instead of:

Intent i = new Intent(getActivity().getApplicationContext(),Upvalence.class);
startActivity(i);

you should pass in the name

Intent i = new Intent(getActivity().getApplicationContext(),Upvalence.class);
i.putExtra("string", SlectedName);
startActivity(i);

Then, on your Upvalence activity:

 @Override
 protected void onCreate(@Nullable Bundle savedInstanceState) {
    Bundle arguments = this.getIntent().getExtras();
    String yourString = arguments.getString("string");
 }
查看更多
登录 后发表回答