0

だから私はアンドロイドのチュートリアル、ヘルプの質問などを探し回っています.私は理解するのが難しい質問やチュートリアルに遭遇し続けています.

ここに私の質問があります:

  1. ビジュアル デザイナーでアイテムを作成すると、.xml にコードが作成されます。後で .java ファイルで使用するためにそのアイテムの ID を取得するにはどうすればよいですか?

  2. ボタンがクリックされたときにコールバックを追加するにはどうすればよいですか?


これが私がこれまでに持っているものです:

.java

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.Button;

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }

    public void Button_click_callback() // Where to add the callback in the .xml?
    {
        // How to get button ID and change the text of it? 
            //Knowing this will help me A LOT!
    }
}

.xml

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="79dp"
android:layout_marginTop="32dp"
android:text="Button" />
4

9 に答える 9

4

ビジュアルデザイナでアイテムを作成すると、コードの一部が.xmlに作成されます。そのアイテムのIDを取得して、後で.javaファイルで使用するにはどうすればよいですか?

ステップ1:デザイナーでウィジェットにIDが割り当てられていることを確認します(上記のXMLでは、これは次のように表示されますandroid:id="@+id/button1

ステップ2:Javaでは、適切なタイミングで呼び出すことにより、そのウィジェットのJavaオブジェクトを取得できますfindViewById(R.id.button1)(たとえば、から、Activityを呼び出した後setContentView())。

ボタンがクリックされたとしましょう。どうすればコールバックを追加できますか?

一般に、これには、で取得しsetOnClickListener()たを呼び出すことができるなどのセッターメソッドがあります。ButtonfindViewById()

アクティビティによってホストされるウィジェットのクリックイベントの特定のケースではandroid:onClick、XMLに含めることができる属性もあります。これActivityは、ウィジェットがクリックされたときに呼び出されるメソッドの名前を提供します。セッター。

于 2012-09-27T21:16:47.920 に答える
2
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button button1 = (Button)findViewById(R.id.button1);
    button1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // Do something in response to button click
        }
    });
}

これらはすべて、Androidデベロッパーサイトで詳細に文書化されています。あなたはこの基本的なものを探しているはずです。

http://developer.android.com/guide/topics/ui/controls/button.html

于 2012-09-27T21:16:42.657 に答える
1
  1. findViewById を使用して、Java で XML からビュー ID を取得できます。ビューで ID を宣言する必要があることを確認してください。そうしないと、アプリが強制終了する例外が発生する可能性があります。
  2. プログラムではなくxmlでコールバックしたい場合は、レイアウトXMLでそのビューの android:onClick 属性を宣言できます

たとえば、あなたの場合、 android:onClick="Button_click_callback" を追加する必要があります

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="79dp"
android:layout_marginTop="32dp"
android:text="Button" 
android:onClick="Button_click_callback"/>

次に、アクティビティでコールバックに Button_click_callback メソッドを使用できます

public void Button_click_callback()
{
}

Javaを使用してプログラムでコールバックする場合は、最初にfindViewByIdでビューを取得してから、そのビューにクリックリスナーを追加できます

于 2017-01-18T12:31:24.157 に答える
0

onClickListener を使用して、onClick メソッドをオーバーライドする必要があります。

btn.setOnClickListener.(new View.OnClickListener(){

     @Override
      public void onClick(View v) {
        //TO DO
    }

});

OnClickListener はインターフェースです。そのため、OnClick メソッドをオーバーライドする必要があります。

于 2015-07-27T12:41:48.577 に答える
-1

コール バックの場合 - Android コンポーネントを呼び出し側デバイスに登録する必要があります。コンポーネントの ID は、xml 内で一意である必要があります。一意の ID を使用して、コンポーネントを動的に変更したり、コールバックを使用したりできます。

于 2015-05-12T05:20:39.983 に答える