このメソッドを呼び出したい
public void openButton(View view) {
Intent intent = new Intent(this, MainActivity.class);
this.startActivity(intent);
}
このような簡単な方法から
public void simple(){
openButton();
}
しかし、openButtonには1つのパラメーターViewが必要なので、それはできません。どうやって?
まあ、あなたが提供したコードでは、通常、ある種のonCickListener
を使用します。
XMLファイルを開き、そのメソッドを呼び出すボタンにAndroid:onClick="openButton"
を追加します。したがって、ボタンのXMLは次のようになります。
<Button
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Click me!"
. . .
Android:onClick="openButton" />
これにより、自動的にそのメソッドが呼び出され、ビューに渡されます。
他のオプションは、BatScreamがコメントで述べたように、とにかくビューを使用していないので、null
を渡すだけです。しかし、これは悪い習慣です-今回は機能しますが、一般的には、Androidが使用するシステムに従ってください。XMLでonClick
を使用するだけです。
simple
をそのまま使用する必要がある場合は、次のようにしてください。
public void simple(){
openButton(null);
}
あなたはできるはずです
_ button.performClick();
_
openButton()
がbutton
s onClick
に割り当てられたメソッドであると仮定します。つまり、XMLのどこかに、_Android:onClick="openButton"
_を含むButton
がある可能性があります。次に、そのButton
をインスタンス化して変数button
に割り当てている場合、View
のperformClick()
メソッドを呼び出すとopenButton()
が呼び出されます
シンプル。引数でビューを渡すだけです。
方法1:レイアウトファイルからopenButton()
メソッドを呼び出す場合は、onClick属性を適用して次のようにメソッドを呼び出すだけです。
_<Button
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Go to next screen"
. . .
Android:onClick="openButton" />
_
方法2: OnClickListenerを設定してボタンのonclickから呼び出そうとしている場合は、次のようにOnClickListener
のonClick(View view)
メソッド内に取得するビューを渡すだけです。 :
_button.setOnClickListener(new OnClickListener(){
@override
public void onClick(View view)
{
openButton(view);
}
});
_