0

チェックボックスの状態に応じて値を表示したい。

私が使用したコードは..

if((cb1).isChecked()==true){
        str="abc";
    }



    public void chk_med(View view){
    Intent intent = new Intent(Medicine.this, chk_med.class);
    Medicine.this.startActivity(intent);
    intent.putExtra("fvr", str);

chk_medのコード

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.disp_med);
    Bundle extras=getIntent().getExtras();
    String Value1;
    Value1 = extras.getString("fvr");



    TextView t1 = (TextView)findViewById(R.id.show_res);
    t1.setText(Value1);

}

エラーは何だと思われますか?Plzはguyzを助けます。

コードを次のように変更しました

public void chk_med(View view){
    Intent intent = new Intent(Medicine.this, chk_med.class);
    intent.putExtra("fvr", a);
    Medicine.this.startActivity(intent);

それでもchk_medインテントには何も表示されません

4

2 に答える 2

1

新しいアクティビティを開始したextra、インテントにを与えています。そのため、その新しいアクティビティを起動すると、実際に必要な余分なものが得られることはありません。

これは、次のようにコードを変更する必要があることを意味します。

 public void chk_med(View view){
    if(cb1.isChecked())
       str="abc";
    else
       str = "xyz";
    Intent intent = new Intent(Medicine.this, chk_med.class);
    intent.putExtra("fvr", str);
    Medicine.this.startActivity(intent);
}

これにより、適切なタイミングでエクストラを Intent に与えることができます。

また、適切な Java 命名規則も考慮してください。クラスは大文字で始まり、変数は大文字ではありません(キャメルケース)。

于 2013-02-03T17:13:09.937 に答える
0

行が乱れています:

Intent intent = new Intent(Medicine.this, chk_med.class);
Medicine.this.startActivity(intent);
intent.putExtra("fvr", str);

への変更:

Intent intent = new Intent(Medicine.this, chk_med.class);
intent.putExtra("fvr", str);
Medicine.this.startActivity(intent);
于 2013-02-03T17:13:10.107 に答える