2017-02-21 79 views
0

您好我想將此代碼更改爲片段。這段代碼的基礎是AppCompatActivity,我需要改變,但我不能。AppCompatActivity到片段

我Mainactivity使用的代碼片段,以顯示所有網頁

片段=新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

顯然,你剛剛更換AppCompatActivity與片段,這當然是行不通的。什麼是錯誤?你有沒有看過Fragment文檔? https://developer.android.com/guide/components/fragments.html – ElDuderino

+0

您可以請發佈您的錯誤日誌。請閱讀[this](http://stackoverflow.com/help/how-to-ask)。 –

+0

任何人都可以更改此代碼片段這是我的uni項目,我沒有任何時間。 –

回答

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); 
      } 
     } 
    }); 
} 

可以綁定你的意見是這樣

+0

非常感謝。 –

0

你必須創建一個新的片段,你不能用片段取代AppCompatActivity。片段和活動他們是不同的,並得到不同的行爲。 更好的你看看這裏 https://developer.android.com/guide/components/fragments.html

+0

你可以改變這段代碼片段這是我的uni項目,我沒有任何時間 –