5

ボタンで長押しイベントを処理する方法を説明しているこの記事のようないくつの記事を見てき ました。私はこれらの指示に従うことができますが、クリックを処理したのと同じ方法でそれを行うことができるかどうか疑問に思っています。クリックを処理する方法は、XMLでハンドラーを次のように定義することでした。

<Button
    android:id="@+id/btn_NextLift"
    ...
    android:onClick="btn_NextLiftClick" />

次に、そのようなコードで:

public void btn_NextLiftClick(View vw_Current) 
    {...}

xmlにブールプロパティlongClickableが表示されますが、イベントハンドラーを定義する場所がわかりません... ???

TIA JB

4

1 に答える 1

19

XMLを介してこれを行うことはできません。代わりに、以下を使用してください。

Button button = (Button) findViewById(R.id.btn_NextLift);

button.setOnLongClickListener(new OnLongClickListener() { 
        @Override
        public boolean onLongClick(View v) {
            // TODO Auto-generated method stub
            return true;
        }
    });

このコードsetContentView()が呼び出された後に来ることを確認してください。

また、longClickableプロパティがtrueに設定されていることを確認してください。

于 2012-11-14T16:31:53.780 に答える