two.java:

package ir.ben.hassan;

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.DragStartHelper;

import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;

public class two extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_two);
        TextView tv= findViewById(R.id.tv2);//alt+2enter to cast

        Toast.makeText(this, "hey", Toast.LENGTH_SHORT).show();

        Bundle extras=getIntent().getExtras();
        if(extras!=null)
        {
            Toast.makeText(this, "extra", Toast.LENGTH_SHORT).show();

            String email="";
            String phone="";
            String name="";
            if(extras.containsKey("email"))
                email=extras.getString("email");
            if(extras.containsKey("phone")){
            phone=extras.getString("phone");
            }
            if(extras.containsKey("name"))
                name=extras.getString("name");

            tv.setText("name: "+name+"\n");
            tv.append("email: "+email+"\n");
            tv.append("phone: "+phone+"\n");
        }
        else
            Toast.makeText(this, "no extra", Toast.LENGTH_SHORT).show();

    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
       MenuItem itemok= menu.add("Confirm");
       itemok.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
       itemok.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
           @Override
           public boolean onMenuItemClick(MenuItem item) {
               Intent intent=new Intent();//////just inverse of the other intent 
               intent.putExtra("messge","yoohoooo");
               setResult(RESULT_OK,intent);
               //or instead of the red lines could be just: setResult(RESULT_OK); no need to make intent
               finish();//finishes this activity which is no longer needed
               return false;
           }
       });
        return super.onCreateOptionsMenu(menu);
    }
}

کلیک راست->generate getter 

formifo.java

package ir.ben.hassan;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Toast;

public class FormInfo implements View.OnClickListener, CompoundButton.OnCheckedChangeListener {
    private Activity activity;
    private LinearLayout forminfo;
    private Context context;
    private EditText inputname;
    private EditText inputphone;
    private EditText inputemail;
    private CheckBox cbshare;
    private Button btsub;


    public FormInfo(Activity activity,int layoutId) {
        this.activity=activity;
        forminfo=activity.findViewById(layoutId);//here the instructor did a cast (LinearLayout)
        this.activity=activity;
        init();
    }

    private void init() {
        if(forminfo==null)
            return;
        inputname=forminfo.findViewById(R.id.inputname);//here the instructor did a cast (EditText)
        inputphone=forminfo.findViewById(R.id.inputphone);
        inputemail=forminfo.findViewById(R.id.inputemail);
        cbshare=forminfo.findViewById(R.id.cbshare);
        btsub=forminfo.findViewById(R.id.btsub);
        btsub.setOnClickListener(this);
        cbshare.setOnCheckedChangeListener(this);

    }
//این یاسی ها با گتر ساخته شدن
    public EditText getInputname() {
        return inputname;
    }

    public EditText getInputphone() {
        return inputphone;
    }

    public EditText getInputemail() {
        return inputemail;
    }

    public CheckBox getCbshare() {
        return cbshare;
    }

    public Button getBtsub() {
        return btsub;
    }

    @Override
    public void onClick(View v) {
            if(v.getId()==btsub.getId())
            {
                String email=inputemail.getText().toString().trim();
                String phone=inputphone.getText().toString().trim();
                String name=inputname.getText().toString().trim();
                if(isvalidinput(name,phone,email))
                {
                    Toast.makeText(activity, "Valid Input", Toast.LENGTH_SHORT).show();

                    Intent intent=new Intent(activity,two.class);
                    intent.putExtra("name",name);
                    intent.putExtra("email",email);
                    if(cbshare.isChecked())
                        intent.putExtra("phone",phone);
                    activity.startActivity(intent);

                }

            }
    }
//این قبلا پرایوت بود به خاطر گترها پابلیک شد
    public boolean isvalidinput(String name,String phone,String email) {
        if(name==null)
            name=inputname.getText().toString().trim();
        if(email==null)
            email=inputemail.getText().toString().trim();
        if(phone==null)
            phone=inputphone.getText().toString().trim();

        if (name.length() < 3) {
            Toast.makeText(activity, "Name should be at least 3 characters", Toast.LENGTH_SHORT).show();
            inputname.requestFocus();
            return false;
        }
        if (cbshare.isChecked() && !phone.isEmpty() && (phone.length() != 11 || !phone.startsWith("09"))) {
            Toast.makeText(activity, "Wrong mobile number", Toast.LENGTH_SHORT).show();
            inputphone.requestFocus();
            return false;
        }
        if (!email.contains("@") || (email.lastIndexOf('.') < email.indexOf('@')) || email.split("@").length>2)
        {
            Toast.makeText(activity, "Wrong email address", Toast.LENGTH_SHORT).show();
            inputemail.requestFocus();
            return false;
        }

        return true;
    }

    @Override
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if(buttonView.getId()==cbshare.getId())
        {
            inputphone.setEnabled(isChecked);
        }
    }
}

main activity java

package ir.ben.hassan;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.util.Date;
import java.util.Random;

public  class MainActivity extends AppCompatActivity {
    public static final int reqcod=24;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final FormInfo form=new FormInfo(this,R.id.forminfo);
        form.getBtsub().setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                String name=form.getInputname().getText().toString().trim();
                String phone=form.getInputphone().getText().toString().trim();
                String email=form.getInputemail().getText().toString().trim();

                if(form.isvalidinput(name,phone,email))
                {
                    Intent intent= new Intent(MainActivity.this,two.class);
                    intent.putExtra("name",name);
                    intent.putExtra("email",email);
                    if(form.getCbshare().isChecked())
                    intent.putExtra("phone",phone);
                    startActivityForResult(intent,reqcod);

                }
            }
        });
//        form.getInputname().setTextColor(0xFFFF7002);
     //  form.getInputname().setTextColor(Color.argb(200,5240,67,4));
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode==reqcod)
        {
            if(resultCode==RESULT_OK)
            {
                Toast.makeText(this, data.getStringExtra("messge"), Toast.LENGTH_SHORT).show();
            }
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

     getMenuInflater().inflate(R.menu.menu_main,menu);
        return super.onCreateOptionsMenu(menu);
    }

    }
}

باگ برا من اگه شماره تلفن وارد نکنه ولی زده باشه share اپ بسته میشه  اگه اون دستور null ها رو بذارم درست میشه؟

نع نشد

دلیلش این بوده:

if(extras.containsKey("phone")){
phone=extras.getString("phone").substring(2);

کد استاد اون substring رو برداشته بوده

 

میان بر: وقتی new می نویسی کنترل اسپس بزن . (منو پیدا کن من یه میان بر هستم که توش اینتر  و alt enter نداره!)

new ctrl space

itemok.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {

جلسه نهم بخش دو - باز کردن اپلیکیشن دیگر

جلسه نهم اندروید بخش یک Intent

جلسه هشتم اندروید شروع ۶ صبح پایان ۹:۱۸- دریافت اطلاعات از فرم

import ,{ ,} ,android ,intent ,phone ,import android ,android widget ,} } ,tostring trim ,gettext tostring ,import android widget ,toast length short ,toast maketext activity ,import android content

مشخصات

آخرین ارسال ها

آخرین جستجو ها


wikiwiki-web مارکت 96 صبحِ زمستاني Frank's page مطالب اینترنتی معرفی بهترین برندهای لوازم آرایشی و بهداشتی قالب های فارسی وردپرس 26 بیاناتی فرهنگ اسلامی علاقه های موفقیت و راه های موفقیت Jacqueline's site
دزدگ