Я хочу, чтобы на первом экране было две кнопки, и когда пользователь нажимает одну из них, он переходит на другой экран с другими кнопками. Я не уверен, как с этим справиться.
Моя главнаякласс:
public class Radiation extends Activity implements OnClickListener {
View num_cores;
View num_mass;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Set up click listeners
num_cores=(View) findViewById(R.id.select_cores);
num_cores.setOnClickListener(this);
num_mass=(View) findViewById(R.id.select_mass);
num_mass.setOnClickListener(this);
}
//called when a button is clicked
public void onClick(View v) {
switch (v.getId()){
case R.id.num_cores:
Intent i=new Intent(this,number_cores.class);
startActivity(i);
break;
case R.id.num_mass:
Intent k=new Intent(this,number_mass.class);
startActivity(k);
break;
}
}
}
Когда я нажимаю кнопку num_cores, пользователь переходит на другой экран и вводит некоторые данные в текстовое поле редактирования, а кнопка вычисления выполняет вычисления, а затемрезультат показан.
Вот класс number_cores.class:
public class number_cores extends Activity implements OnClickListener {
EditText num_cores;
View core_calcs;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.numbercores);
num_cores=(EditText) findViewById(R.id.num_cores);
core_calcs=(View) findViewById(R.id.core_calcs);
core_calcs.setOnClickListener(this);
}
public void onClick(View v) {
switch (v.getId()){
case R.id.core_calcs:
cores_func();
break;
}
}
public void cores_func(){
//some calculations here with result "double fcores=.."
Intent i=new Intent(this,core_calcs.class);
i.putExtra("value",fcores);
startActivity(i);
}
}
core_calcs.java:
public class core_calcs extends Activity {
TextView corecalcs;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.core_calcs);
corecalcs=(TextView) findViewById(R.id.corecalcs);
double f=getIntent().getExtras().getDouble("value");
corecalcs.setText(Double.toString(f));
}
}
то же самое относится и к другой кнопке.
Как я могу справиться с этим? Я теряюсь в своих кнопках! Есть ли более эффективный способ?(Сейчас мое приложение не запускается)
- ОБНОВЛЕНО ---------------
Я не определил ширину кнопок вмой main.xml, поэтому программа аварийно завершилась.
Теперь он дает мне первый экран с моими двумя кнопками, но ничего не происходит, когда я нажимаю на них.