嗨,我希望将此代码更改为片段。这段代码的基础是AppCompatActivity,我需要改变,但我不能。
我的Mainactivity使用片段代码来显示所有页面
fragment = 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);
}
}
});
}
}
答案 0 :(得分:0)
你必须创建一个新的片段,你不能用Fragment取代AppCompatActivity。片段和活动他们是不同的,并有不同的行为。 你最好看看这里 https://developer.android.com/guide/components/fragments.html
答案 1 :(得分:0)
片段有不同的生命周期回调,所以你需要学习,你不能总是找到准备好的代码。您应该在这里查看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);
}
}
});
}
您可以像这样绑定您的观点