2011-08-02 5 views
1

私はAppウィジェット(AppWidgetProviderなど)を定義しました.Appウィジェットのボタンのうちの1つのonClickのアドホックプログラムを作成したいと思います。このドキュメントでは、Appウィジェットのレイアウトを拡張する方法と、ボタンに特定のアクションを設定する方法について説明します(RemoteViews.setOnClickPendingIntent()を参照)。しかし、私はボタンのためにadhoc OnClickListener()を書く方法は見当たりません。私たちはアクティビティのボタンを操作します。アンドロイドウィジェットボタンをクリックするとクラス機能を呼び出す方法は?

+2

あなたがここで何を求めているか分かりません。 OnClickListenerは単なるメソッドです。その中から任意のコードを呼び出すことができます。 – Paddy

+0

@Paddy Foran:URコメントありがとうございます。私はAndroidウィジェットボタンについて、通常のアクティビティボタンのように話しています。ウィジェットボタンのためにここでclickListenerを取得して、いくつかの機能を実行するにはどうすればいいですか? plsは私の編集をチェックします.. – CoDe

答えて

1

短い回答:できません。 App Widgetsは軽量です - App WidgetがApp Widgetフレームワークを遅くする可能性があるため、AndroidはApp WidgetsがAd Hocコードを実行することを望んでいません。代わりに、AppWidgetProvidersはApp Widgetsの仕事をすることになっています。 AppWidgetProviderとAppWidgetの間の通信は、a)プロバイダが新しいレイアウトでウィジェットを更新することができ、b)そのレイアウトの要素がAppWidgetProviderまたは他のAndroidコンポーネントがインターセプトして処理できるインテントを送信できる。

Appウィジェットからインターセプトするカスタムインテントを定義するAppWidgetProviderの例については、Adding behavior to individual itemsを参照してください。

@ Shubh:あなたのオリジナルの質問を編集してより明確にしました。あなたが編集を気に入ったら、他の人が見ることができるように編集を許可する必要があります。

+0

本当に有益なあなたの提案に感謝します。 – CoDe

1

メソッドを別のクラスから呼び出す方法を尋ねる場合は、そのメソッドを静的にし、そうでない場合は質問を洗練してください。

そして、あなたはこれを試して、その後ウィジェット上OnClicklistenerを設定する方法を求めている場合:

 Yourbutton.setOnClickListener(new Button.OnClickListener(){ 
    public void onClick(View v) { 
     } 
    }; 
+0

@vinnetska:ありがとう、私はここでAndroid Widgetボタンについて話しています。 – CoDe

0

this documentationのステップ4を参照してください。

+0

おかげさまで、あなたはカストムボタンを作る方法についてではなく、それはどのようにアンドロイドウィジェットボタンのリッスンイベントを取得するので、通常のアクティビティボタンのようないくつかの機能を実行することができます。 – CoDe

関連する問題