これは私の最初の質問です。通常、私は Gogle を介して自分の答えを見つけることができますが、それは通常とにかくスタックオーバーフローにつながりますが、これは最終的に私自身の質問をするのに十分なほど私を後押ししました。
とにかく、これは特に何かのためではありません。ハンドルを取得しようとしているだけonlicklisteners
です。この場合、具体的には inner-class onclicklisteners
.
問題:プログラムが のコンストラクターをスキップするのはなぜMathButtonClicked
ですか? 私はそれCharSequence
でしたが、コンストラクターが呼び出されることはありません(logcatを介してこれを知っています)。
public class Main extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button mathButton = (Button) findViewById(R.id.mathButton);
EditText et = (EditText) findViewById(R.id.inputText);
CharSequence inputText = et.getText().toString();
mathButton.setOnClickListener(new MathButtonClicked(inputText));
}
private class MathButtonClicked implements OnClickListener {
private CharSequence receivedText;
public MathButtonClicked(CharSequence inputText) {
this.receivedText=inputText;
Log.d("Constructor", " " + receivedText);
}
public void onClick(View v) {
Log.d("Onclick", " " + receivedText);
Intent intent = new Intent(Main.this, Math.class);
intent.putExtra("inputText", getText());
startActivity(intent);
}
public CharSequence getText(){
return receivedText;
}
}//end inner class
} //end main
引数がパラメーターと一致する場合、コンストラクターは常に呼び出されませんか? @_@
また、私が達成しようとしているのは、EditText
ビュー内のテキストを新しいインテントに渡すことです。
EditText
でオブジェクトを作成することでこれを行うことができますOnClick
が、メイン メソッドで作成してから、情報を に渡したいと考えていますOnClick
。
ありがとう!