私はアンドロイド開発が初めてです。疑問があります。ボタンを追加して次のように初期化できることを知っています
Button b1=(Button) findViewById(R.id.button1);
また、XML ファイルで関数名を指定することもできます。
android:onClick="click_event"
私の疑問は、どれが最良かつ効率的な方法ですか? ハードコーディングされたものではなく @string リソースを使用する方が良いと言っているように。
私はアンドロイド開発が初めてです。疑問があります。ボタンを追加して次のように初期化できることを知っています
Button b1=(Button) findViewById(R.id.button1);
また、XML ファイルで関数名を指定することもできます。
android:onClick="click_event"
私の疑問は、どれが最良かつ効率的な方法ですか? ハードコーディングされたものではなく @string リソースを使用する方が良いと言っているように。
あなたは混乱していると思います。あなたが与える例は2つの異なるものです。
ボタンの追加
この行
Button b1=(Button) findViewById(R.id.button1);
を追加しませんButton
。のインスタンスを宣言して初期化し、現在膨張している xmlのButton
を参照します。Button
id
button1
だからあなたのxmlにはどこかにあるでしょう
<Button
android:id="@+id/button1"
<!-- other properties -->
/>
Button
プログラムで追加できます
Button bt1 = new Button(this);
// give it properties
ただし、ここではプログラムでパラメーター、プロパティを指定し、それをインフレートされたlayout
オンクリック
それonClick()
は、あなたが自分の状況で最も簡単で最善だと感じるものに依存します. 私はしばしばそのように xml で宣言するのが好きですが、いくつかの方法で行うことができます。このメソッドを使用すると、このような関数がpublic
あり、パラメーターを 1 つだけ取り、そのパラメーターがView
public void clickEvent(View v)
{
// code here
}
名前も変更したので、xmlは次のようになります
<Button
android:id="@+id/button1"
<!-- other properties -->
android:onClick="clickEvent"/>
onClick()
次のようなものでJavaに設定することもできます
Button b1=(Button) findViewById(R.id.button1);
b1.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
// code here
}
});
また
Button b1=(Button) findViewById(R.id.button1);
b1.setOnClickListener(this);
@Override
public void onClick(View v)
{
// code here
}
宣言に追加する必要がある最後の方法に注意してimplements OnClickListener
くださいActivity
public class MyActivity extends Activity implements OnClickListener
{
Listener
次のように変更して、独自のクリックを作成することもできます
b1.setOnClickListener(myBtnClick);
次に、次のようなものでインスタンスを作成します
public OnClickListener myBtnClick = new OnClickListener()
{
@Override
public void onClick(View v)
{
// click code here
}
};
これを複数Button
の に使用して をオンにするか、パラメーターをid
チェックして、どれがクリックされたかを確認するか、異なる に対して個別に作成することができます。View
Button
Listeners
Button