に応答していない私は2つのボタンを持っている最初の画面にしたいし、ユーザがそれらのいずれかをクリックしたときに、彼はに行きます他のボタンと別の画面。私はこれをどう対処するか分からない。アンドロイド - ボタンを押すと、結果を取ったときに対処する方法 - 更新 - >ボタンは
私の主なクラスがある:
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));
}
}
同じことが他のボタンになります。
にはどうすればより効率的な方法があります!私は私のボタンで失われたのですか?これを扱うことができますか? (今のところ、私のアプリケーションは実行されません)
--UPDATED ---------------
私は私のメインのボタンの幅を定義されていませんでした。 xmlはプログラムがクラッシュした理由です。
は今、それは私に私の二つのボタンで最初の画面を提供しますが、私はそれらをクリックすると、何も起こりません。私はあなただけの単一のEditTextフィールドから入力を取っている理解して何から
クラッシュスタックトレースを含めるように質問を更新してください。アプリケーションがクラッシュするたびに、原因を調べるためにスタックトレースをポストする必要があります。あなたの問題を手助けするのが簡単になります(または何が間違っているのかを理解することさえも) – wnafee
紛失されてどういう意味ですか?あなたのIDの命名に問題があると思いますので、いくつかの規則を設定してください(たとえば、ButtonのすべてのIDは「btn_」で始まり、TextViewのすべてのIDは「txt_」などで始まります)。 スタックトレースを投稿した場合、クラッシュする問題についてより詳しくお手伝いしてください。 – jcxavier
あなたはlogcatを意味するのでしょうか?そこにはたくさんのものがあるからです。 – George