我正在dooing this教程,並在一個點上,他採用了R.id.xxxx其中x是一個控件的名稱/ ID我正在使用,如果我理解正確的話。我似乎無法找到android.R.id.radio0?(等等)
現在我有兩個R的東西的「。」,一個是android.R,另一個是dk.ilizane.android.temperatur.R它根本不包含任何id,所以我有點想我會是使用android.R.id但我在找editText1,radio0,收音機1,它不包含任何的那些。
有沒有人好心地試圖解釋這樣對我?我想學習這個,所以我希望如果答案是不只是正確的代碼,但一個答案,我可以
我的代碼:
package dk.ilizane.android.temperatur;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Toast;
public class Omregn extends Activity
{
private EditText text;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
text = (EditText) findViewById(android.R.id.editText1);
}
public void myClickHandler(View view) {
switch (view.getId())
{
case android.R.id.button1:
RadioButton celsiusButton = (RadioButton) findViewById(dk.ilizane.android.temperatur.R);
RadioButton fahrenheitButton = (RadioButton) findViewById(android.R.id.radio1);
if (text.getText().length() == 0)
{
Toast.makeText(this, "Please enter a valid number", Toast.LENGTH_LONG).show();
return;
}
float inputValue = Float.parseFloat(text.getText().toString());
if(celsiusButton.isChecked()){
text.setText(String.valueOf(convertFahrenheitToCelsius(inputValue)));
}else {
text.setText(String.valueOf(convertCelsiusToFahrenheit(inputValue)));
}
if(fahrenheitButton.isChecked()){
fahrenheitButton.setChecked(false);
celsiusButton.setChecked(true);
}
else
{
fahrenheitButton.setChecked(true);
celsiusButton.setChecked(false);
}
break;
}
}
private float convertFahrenheitToCelsius(float fahrenheit){
return ((fahrenheit - 32) * 5/9);
}
private float convertCelsiusToFahrenheit(float celsius){
return ((celsius *9)/5) + 32;
}
}
非常感謝 - 我寫了很多代碼,而不是複製和粘貼,所以我會對這個工作有更好的感覺。這讓更多的餘地錯誤:/現在我的問題的答案,但另一個錯誤是我..接壤的一些resources.ap_不存在:S – 2011-02-15 14:18:16
嘗試做一個乾淨的重新構建。 – 2011-02-15 14:19:16