0
本当にいくつかの助けが必要です、私は3つのeditTextを持っており、hh:mm:ssの2つから入力を取得する必要があります。その後、配列とforループを使って違いを見つけ、3番目のeditTextにテキストとして設定します。すべての入力は素晴らしいでしょう!配列要素の相違点forループを使用して
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
end = (EditText) findViewById(R.id.etEnd);
start = (EditText) findViewById(R.id.etStart);
diff = (EditText) findViewById(R.id.etDiff);
calc = (Button) findViewById(R.id.bCalc);
clear = (Button) findViewById(R.id.bClear);
calc.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
int h1 = s[0];
int m1 = s[1];
int s1 = s[2];
int h2 = e[0];
int m2 = e[1];
int s2 = e[2];
String sGet2 = end.getText().toString(); // end to string
String sGet1 = start.getText().toString(); // start to string
String[] erA = sGet2.split(":"); // end string to end array
String[] srA = sGet1.split(":"); // start string to string array
for (int i = 0; i < srA.length; i++) {
inted = Integer.parseInt(erA[i].trim());
intst = Integer.parseInt(srA[i].trim());
s[i] = intst;
e[i] = inted;
}
if (s2 > s1) {m1--;s1 += 60;}
if (m2 > m1) {h1--;m1 += 60;}
int H, M, S;
S = s1 - s2;
M = m1 - m2;
H = h1 = h2;
diff.setText(H + ":" + M + ":" + S);
}
});
}
}
*また、 私は1でこれを実行する場合:終了時間として6:5:開始時間 と4と3:2。それは終了時間の最後の桁だけを吐き出す(6)。終了時刻を3:4:5に設定すると、editTextに5が表示されます。
typo/mistakeなのか、 'H = h1-h2;'ではなく 'H = h1 = h2; 'であることを望んでいますか? '[]'と 'e []'の宣言は何ですか? –
それは間違いでした。 int [] s; \t int [] e; * Calcボタンを押すとクラッシュするようになりました –