請幫助我...我不知道我在做什麼錯!Android中的吸氣器和安裝器
我有3個班。
1 - 活性= TelaCadastroRestaurant.java
2 - 實體= Restaurant.java
3 - 方法的類= Metodos.java
問題:當我打電話getNomeRestaurante()在方法callMandarNuvem()或ANY其他方法但是pegarvalores(),它不起作用 ...它顯示爲空。
錯誤的打印:http://i.imgur.com/sOcBkUM.png
********************實例***************** **********
如果我創建一個餐廳對象INSIDE方法pegarValores(),並在一個吐司,調用:getNomeRestaurante()...它是所有正常。但是,如果我在方法pegarValores()和Toast中創建一個Restaurant對象,請調用:getNomeRestaurante()... IT SHOWS NULL。
*********************方法的意義*******************
方法 - > inicializaComponentes():它引用了Activity的組件。
方法 - > acaoBotoes():它處理上的按鈕的點擊
方法 - > pegarValores():這意味着,捕值。
方法 - > mandarNuvem():這意味着,發送到clound(保存)
方法 - > caixaCerteza():它的意思,你確定你想做的事是什麼?
方法 - > taskInProgress():它的意思是,加載..等待
公共類TelaCadastroRestaurante延伸活動{
private Button proximoButton;
private EditText nomeRestauranteEditText, emailRestauranteEditText, telefoneRestauranteEditText;
private String nomeRestauranteValores, emailRestauranteValores;
private int telefoneRestauranteValores;
private String voceTemCerteza = "Você tem certeza que deseja cadastrar o restaurante ";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_tela_cadastro_restaurante);
incializarComponentes();
acaoBotoes();
}
public void incializarComponentes() {
nomeRestauranteEditText = (EditText) findViewById(R.id.editTextNomeRestauranteTelaCadastroRestaurante);
emailRestauranteEditText = (EditText) findViewById(R.id.editTextEmailRestauranteTelaCadastroRestaurante);
telefoneRestauranteEditText = (EditText) findViewById(R.id.editTextTelefoneRestauranteTelaCadastroRestaurante);
proximoButton = (Button) findViewById(R.id.buttonProximoTelaCadastroRestaurante);
}
public void acaoBotoes() {
proximoButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
pegarValores();
callMandarNuvem();
}
});
}
public void pegarValores(){
Restaurante rest = new Restaurante();
nomeRestauranteValores = nomeRestauranteEditText.getText().toString();
emailRestauranteValores = emailRestauranteEditText.getText().toString();
telefoneRestauranteValores = Integer.parseInt(telefoneRestauranteEditText.getText().toString());
rest.setNomeRest(nomeRestauranteValores);
rest.setEmailRest(emailRestauranteValores);
rest.setTelefoneRest(telefoneRestauranteValores);
}
public void callMandarNuvem(){
Runnable r = new Runnable() {
public void run() {
Metodos.mandarNuvem(TelaCadastroRestaurante.this);
}
};
Restaurante rest = new Restaurante();
Metodos.caixaCerteza(TelaCadastroRestaurante.this, voceTemCerteza + rest.getNomeRest() + "?",r);
}
}
公共類餐廳{
private String idRest;
private String nomeRest;
private String emailRest;
private int telefoneRest;
public Restaurante() {
}
public Restaurante(String nomeRest, String emailRest, int telefoneRest) {
this.nomeRest = nomeRest;
this.emailRest = emailRest;
this.telefoneRest = telefoneRest;
}
public String getIdRest() {
return idRest;
}
public void setIdRest(String idRest) {
this.idRest = idRest;
}
public String getNomeRest() {
return nomeRest;
}
public void setNomeRest(String nomeRest) {
this.nomeRest = nomeRest;
}
public String getEmailRest() {
return emailRest;
}
public void setEmailRest(String emailRest) {
this.emailRest = emailRest;
}
public int getTelefoneRest() {
return telefoneRest;
}
public void setTelefoneRest(int telefoneRest) {
this.telefoneRest = telefoneRest;
}
@Override
public String toString() {
return nomeRest;
}
}
個公共類Metodos {
private static ProgressDialog dialog;
// Metodo que mostra o Aguarde a verificação
public static void taskInProgres(boolean mostrar, Context context) {
if (dialog == null) {
dialog = new ProgressDialog(context);
dialog = ProgressDialog.show(context, "","Espere um momento...", true);
}
if (mostrar) {
dialog.show();
} else {
dialog.dismiss();
}
}
// Metodo que mostra a caixa de certeza
public static void caixaCerteza(final Context context, final String texto, final Runnable func) {
AlertDialog.Builder builderaction = new AlertDialog.Builder(context);
builderaction.setTitle("Atenção!");
builderaction.setMessage(texto);
builderaction.setPositiveButton("Sim",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
func.run();
}
});
builderaction.setNegativeButton("Não",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
AlertDialog alert = builderaction.create();
alert.setIcon(R.drawable.ic_stop);
alert.show();
}
// Metodo que manda pra nuvem
public static void mandarNuvem(final Context context){
Metodos.taskInProgres(true, context);
Restaurante rest = new Restaurante();
ParseObject restauranteParse = new ParseObject("Restaurante");
restauranteParse.put("nomeRestaurante", rest.getNomeRest());
restauranteParse.put("emailRestaurante", rest.getEmailRest());
restauranteParse.put("telefoneRestaurante", rest.getTelefoneRest());
restauranteParse.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
if (e == null) {
Toast.makeText(context,"Salvo com sucesso!", Toast.LENGTH_SHORT).show();
Metodos.taskInProgres(false, context);
} else {
Toast.makeText(context, e.getMessage(),Toast.LENGTH_SHORT).show();
}
}
});
}
}
請更正代碼在您的文章格式。你能問一個明確的問題嗎? – kenorb 2015-02-23 21:51:37
@kenorb,我很抱歉,但我不知道如何更具體......我該如何糾正我的帖子?它出什麼問題了? – lurdes 2015-02-23 22:01:53
Android中的獲取器和設置器像普通Java一樣工作,沒有什麼區別。如果他們返回'null',那麼這是在類上設置的值。 – m0skit0 2015-02-23 22:49:20