AppCompatActivity 到片段

AppCompatActivity to Fragment

您好,我想将此代码更改为片段。此代码的基础是 AppCompatActivity,我需要更改,但我不能。

我的Mainactivity使用片段代码显示所有页面

片段 = new FavoritesFragment();

如果我使用 AppCompatActivity 或更改 FavoritesFragment 页面 Mainactivity 出错

public class FavoritesFragment extends Fragment {


    public static TextView txt_status ;
    EditText et_amount , et_desc , et_email , et_mobile , et_mahsol ;
    Button btn_pay ;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        txt_status = (TextView)findViewById(R.id.txt_status);

        et_amount = (EditText)findViewById(R.id.et_amount);
        et_desc = (EditText)findViewById(R.id.et_desc);
        et_email = (EditText)findViewById(R.id.et_email);
        et_mobile = (EditText)findViewById(R.id.et_mobile);
        et_mahsol = (EditText)findViewById(R.id.et_mahsol);

        btn_pay = (Button)findViewById(R.id.btn_pay);

        btn_pay.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if(et_amount.getText().toString().equals("") || Integer.parseInt(et_amount.getText().toString())<100){
                    Toast.makeText(MainActivity.this,"مبلغ وارد شده صحیح نمیباشد",Toast.LENGTH_LONG).show();
                }else if(et_desc.getText().toString().equals("")){
                    Toast.makeText(MainActivity.this,"وارد کردن توضیحات الزامیست !",Toast.LENGTH_LONG).show();
                }else if(et_email.getText().toString().equals("")){
                    Toast.makeText(MainActivity.this,"وارد کردن hایمیل الزامیست !",Toast.LENGTH_LONG).show();
                }else if(et_mobile.getText().toString().equals("")){
                    Toast.makeText(MainActivity.this,"وارد کردن شماره همراه الزامیست !",Toast.LENGTH_LONG).show();
                }else {
                    Intent intent = new Intent(MainActivity.this,Payment.class);
                    intent.putExtra("Amount",et_amount.getText().toString());
                    intent.putExtra("Description",et_desc.getText().toString());
                    intent.putExtra("Email",et_email.getText().toString());
                    intent.putExtra("Mobile",et_mobile.getText().toString());
                    intent.putExtra("Mahsol",et_mahsol.getText().toString());
                    startActivity(intent);
                }

            }
        });

    }
}

你必须创建一个新的片段,你不能用片段替换 AppCompatActivity。 Fragment 和 Activity 它们是不同的并且有不同的行为。 最好你看看这里 https://developer.android.com/guide/components/fragments.html

Fragment有不同的生命周期回调,需要学习,不是总能找到现成的代码。你应该在这里看 5 分钟 https://developer.android.com/guide/components/fragments.html

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.activity_main, container, false);

    txt_status = (TextView) rootView.findViewById((R.id.txt_status);

    et_amount = (EditText) rootView.findViewById(R.id.et_amount);
    et_desc = (EditText) rootView.findViewById((R.id.et_desc);
    et_email = (EditText) rootView.findViewById((R.id.et_email);
    et_mobile = (EditText) rootView.findViewById((R.id.et_mobile);
    et_mahsol = (EditText) rootView.findViewById((R.id.et_mahsol);

    btn_pay = (Button) rootView.findViewById((R.id.btn_pay);

    return rootView;
}

@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    btn_pay.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            if (et_amount.getText().toString().equals("") || Integer.parseInt(et_amount.getText().toString()) < 100) {
                Toast.makeText(getContext(), "مبلغ وارد شده صحیح نمیباشد", Toast.LENGTH_LONG).show();
            } else if (et_desc.getText().toString().equals("")) {
                Toast.makeText(getContext(), "وارد کردن توضیحات الزامیست !", Toast.LENGTH_LONG).show();
            } else if (et_email.getText().toString().equals("")) {
                Toast.makeText(getContext(), "وارد کردن hایمیل الزامیست !", Toast.LENGTH_LONG).show();
            } else if (et_mobile.getText().toString().equals("")) {
                Toast.makeText(getContext(), "وارد کردن شماره همراه الزامیست !", Toast.LENGTH_LONG).show();
            } else {
                Intent intent = new Intent(getContext(), Payment.class);
                intent.putExtra("Amount", et_amount.getText().toString());
                intent.putExtra("Description", et_desc.getText().toString());
                intent.putExtra("Email", et_email.getText().toString());
                intent.putExtra("Mobile", et_mobile.getText().toString());
                intent.putExtra("Mahsol", et_mahsol.getText().toString());
                startActivity(intent);
            }
        }
    });
}

您可以像这样绑定您的视图