2017-02-21 4 views
0

salut je veux changer ce code en fragment. base de ce code est AppCompatActivity et j'ai besoin de changement, mais je ne peux pas.AppCompatActivity to Fragment

mon code fragment d'utilisation de MainActivity pour afficher toutes les pages

fragment = new FavoritesFragment();

si j'utilise AppCompatActivity ou modifier une page FavoritesFragment MainActivity reçoit une erreur

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

Il est évident que vous venez de remplacer AppCompatActivity avec Fragment, ce qui bien sûr ne fonctionnera pas. Quelle est l'erreur? Avez-vous regardé la documentation de Fragment? https://developer.android.com/guide/components/fragments.html – ElDuderino

+0

Pouvez-vous s'il vous plaît poster votre journal des erreurs. S'il vous plaît lire sur [ceci] (http://stackoverflow.com/help/how-to-ask). –

+0

n'importe qui peut changer ce code pour fragmenter c'est mon projet uni et je n'ai pas le temps. –

Répondre

0

Des fragments ont des callbacks du cycle de vie, de sorte que vous devez apprendre, vous ne pouvez pas toujours trouver le code prêt. Vous devriez regarder ici pendant 5 minutes 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); 
      } 
     } 
    }); 
} 

Vous pouvez lier vos vues comme celui-ci

+0

merci beaucoup bro. –

0

vous devez créer un nouveau fragment, vous ne pouvez pas remplacer AppCompatActivity avec Fragment. Fragment et Activité ils sont différents et ont un comportement différent. mieux vous jetez un coup d'oeil ici https://developer.android.com/guide/components/fragments.html

+0

pouvez-vous changer ce code pour fragmenter c'est mon projet uni et je n'ai pas de temps –