首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AppCompatActivity到片段

AppCompatActivity到片段
EN

Stack Overflow用户
提问于 2017-02-21 15:47:07
回答 2查看 3.1K关注 0票数 0

嗨,我想把这段代码改成片段。这段代码的基础是AppCompatActivity,我需要修改,但我不能。

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

片段=新的FavoritesFragment();

如果我使用AppCompatActivity或更改FavoritesFragment页面,则Mainactivity错误

代码语言:javascript
复制
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);
                }

            }
        });

    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-22 13:28:26

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

代码语言:javascript
复制
@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);
            }
        }
    });
}

您可以这样绑定您的视图

票数 0
EN

Stack Overflow用户

发布于 2017-02-21 16:00:29

你必须创建一个新的片段,你不能用片段代替AppCompatActivity。片段和活性是不同的,具有不同的行为。你最好看看这里,https://developer.android.com/guide/components/fragments.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42371873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档