0

EditText 、 textView 、およびボタンがあります。

ボタンがタッチされたときに、私の EditText の値で textView を設定する必要がありますが、認識されていない変数があります [Android でごめんなさい]

public class XynthaCalcTestActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        //buttons
        benefixPaButtonPressed(); 
        benefixAdultButtonPressed();
        xynthaButtonPressed(); 
        calculateButtonPressed();

        //textField == EditText
        final EditText et;
        et = (EditText)findViewById(R.id.editText1);
    }

    public void calculateButtonPressed() {
        // TODO Auto-generated method stub
        Button button = (Button) findViewById(R.id.result);

        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

                Log.d("myTag",  "result biatch");

                String text=et.getText().toString();

                Toast msg = Toast.makeText(getBaseContext(),text, Toast.LENGTH_LONG);
                 msg.show();

            }

        });

    }
}

だからString text=et.getText().toString(); 私はエラーがありますet cannot be resolved

だから...ボタンクラスがそれを見ることができるように私のet Editテキストを宣言する方法は?

どうもありがとう!

4

3 に答える 3

2

代わりに et をフィールドにします。final 修飾子を使用しても意味がありません。

public class XynthaCalcTestActivity extends Activity {

    private EditText et;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        //buttons
        benefixPaButtonPressed(); 
        benefixAdultButtonPressed();
        xynthaButtonPressed(); 
        calculateButtonPressed();

        //textField == EditText
        et = (EditText)findViewById(R.id.editText1);
    }

    public void calculateButtonPressed() {
        // TODO Auto-generated method stub
        Button button = (Button) findViewById(R.id.result);

        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

                Log.d("myTag",  "result biatch");

                String text=et.getText().toString();

                Toast msg = Toast.makeText(getBaseContext(),text, Toast.LENGTH_LONG);
                 msg.show();

            }

        });

    }
}
于 2012-05-09T07:41:51.823 に答える
1

Edittext フィールド "et" をクラス変数として定義します。

于 2012-05-09T07:43:56.500 に答える
1

このコードを試してください、それはあなたを助けることができます...

public class XynthaCalcTestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    //buttons
   // benefixPaButtonPressed(); 
   // benefixAdultButtonPressed();
   // xynthaButtonPressed(); 
   // calculateButtonPressed();

    //textField == EditText

    final EditText editText = (EditText)findViewById(R.id.editText1);
    final TextView textView = (TextView)findViewById(R.id.textview);
    Button button = (Button)findViewById(R.id.button);

    button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {

            String text = editText.getText().toString();
            textView.setText(text);
            Toast.makeText(XynthaCalcTestActivity.this,text, Toast.LENGTH_LONG).show();
        }

    });
}
}
于 2012-05-09T07:55:25.390 に答える