Нужно нажать 2 раза на кнопку, чтобы получить результат - PullRequest
0 голосов
/ 17 марта 2011

public void calcul () {final EditText vol;окончательный EditText kil;финальные минусы EditText;context = getApplicationContext ();vol = (EditText) findViewById (R.id.volume2);kil = (EditText) findViewById (R.id.kilometrage2);cons = (EditText) findViewById (R.id.consom2);

 final Button button = (Button) findViewById(R.id.button);

 button.setOnClickListener(new View.OnClickListener() {
     public void onClick(View v) {

 String value1 = vol.getText().toString();
 String value2 = kil.getText().toString();


                     if (value1 != null && /*value1.trim().length() > 0 &&*/ value2 != null /*&& value2.trim().length() > 0*/)
                     {
                             float q1=Float.parseFloat(vol.getText().toString());
                             float q2=Float.parseFloat(kil.getText().toString());
                             float x=((q1 / q2)* 100);
                             String y= Float.toString(x);
                             cons.setText(y);

                             SimpleDateFormat format = new SimpleDateFormat("dd/MM");
                              String date = format.format(new Date());
                              data = date + " : " + y + "L/100KM"+ " " + value1 + "L "+ value2 + "KM\n";
       SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
      if (data != "" ) {
      String fileName = getResources().getString(R.string.fileName);
      String fileDir = ""+ preferences.getString("login", "") + "."+ preferences.getString("marque", "") + ".";
      myIO.WriteSettings(context, fileDir + fileName, data);
      data = "";

      Toast.makeText(carburant.this, "Donnée ajoutée!", Toast.LENGTH_SHORT).show();
                                }

                     }
                     else 
                     {
                     Toast.makeText(carburant.this, "Veuillez vérifier les deux champs", Toast.LENGTH_SHORT).show();
                     }
     }

});

Метод WriteSettings:

public class myIO {
public static void WriteSettings(Context context, String nom, String data) {
    FileOutputStream fOut = null;
    OutputStreamWriter osw = null;

    try {
        fOut = context.openFileOutput(nom, Context.MODE_APPEND);
        osw = new OutputStreamWriter(fOut);
        osw.write(data);
        osw.flush();
        osw.close();
        fOut.close();

    } catch (Exception e) {
        Toast.makeText(context, "Echec", Toast.LENGTH_SHORT).show();
    } finally {
        try {
            osw.close();
            fOut.close();
        } catch (IOException e) {
            Toast.makeText(context, "Echec", Toast.LENGTH_SHORT).show();
        }
    }
}

1 Ответ

0 голосов
/ 17 марта 2011

Как называется фрагмент кода? Что такое значение1 / значение2? Если это событие нажатия, возможно, значение 1 или значение 2 являются нулевыми значениями при первом нажатии, что не позволяет изменять какие-либо настройки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...