3

クリックしたときにトーストを表示する単純なウィジェットを作成する必要があります。私の問題は、「oncreate」アクションを取得または作成する方法が見つからないことです。Web ブラウザーを開くペンディング インテントの例が表示されます。しかし、これを簡単に作成するにはどうすればよいでしょうか:Toast.makeText(context, "activated", Toast.LENGTH_LONG).show();ユーザーがウィジェットをクリックするたびにそれを実現するにはどうすればよいでしょうか? 明確にするために、電話のランチャーのウィジェットを意味します。通常の「ボタン」ウィジェットなどではありません...

public class Widget extends AppWidgetProvider {
NotificationManager mNotificationManager;
Notification notification;

@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
    super.onUpdate(context, appWidgetManager, appWidgetIds);



    appWidgetManager.updateAppWidget(appWidgetIds, view);
}

}

ありがとう!

4

6 に答える 6

4

Toast.makeText(context, "activated", Toast.LENGTH_LONG).show();ウィジェットのonClick()メソッドを呼び出すだけですView.OnClickListener

アップデート:

使用する場合は、これこの1つの投稿をAppWidgetProvider確認してください

于 2012-09-20T11:49:00.603 に答える
1

私はあなたが作成されたを表示Toastするために行方不明だと思います。例えば:

Toast.makeText(context, "activated", Toast.LENGTH_LONG).show();

onClickさらに、カスタムクラスのメソッドをオーバーライドして、Viewそこでトーストをポップします。


public class TestButton extends Button {

    public TestButton(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        // TODO Auto-generated constructor stub
    }

    @Override
    public void setOnClickListener(OnClickListener l) {
        super.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(v.getContext(), "activated", Toast.LENGTH_LONG)
                  .show();
            }
        });
    }

}
于 2012-09-20T11:50:11.227 に答える
0
Button btn=(Button) findViewById(R.id.button);

            btn.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {
                   Toast.makeText(context, "activated", Toast.LENGTH_LONG).show();


  }
}
});
于 2012-09-20T11:55:02.370 に答える
0

これを試して:

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

        button.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {

        // Create a piece of toast.
        Toast pieceToast = Toast.makeText(getApplicationContext(), "Test Message", Toast.LENGTH_SHORT);

        // Show the toast.
        pieceToast.show();
    }

これは私の BroadcastReciever クラスです:

public class IncomingCallReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Bundle bundle = intent.getExtras();
        if(null == bundle)
            return;
        Log.i("IncomingCallReceiver",bundle.toString());
        String state = bundle.getString(TelephonyManager.EXTRA_STATE);
        String registredPhoneNumber;
        Log.i("IncomingCallReceiver","State: "+ state);
        String phonenumber = bundle.getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
        System.out.println("*****Mobile Ringing*******"+phonenumber);
        if(state.equalsIgnoreCase(TelephonyManager.EXTRA_STATE_RINGING))
        {
            registredPhoneNumber = PreferenceConnector.getPhoneNumber(context);
            System.out.println("registredPhoneNumber:  "+registredPhoneNumber);
            System.out.println("phonenumber:   "+phonenumber);
            Log.i("IncomingCallReceiver","Incomng Number: " + phonenumber);
            if(phonenumber.equals(registredPhoneNumber)){
                System.out.println("Entered...");
                String info = "Detect Calls sample application\nIncoming number: " + phonenumber;
                if(isMyServiceRunning(context)){
                    context.stopService(new Intent(context,com.visiomaticamericas.visitormobile.services.LaunchServiceActivity.class));
                    System.out.println("******Service Stopped*********");
                }
                Intent i = new Intent(context,com.services.LaunchServiceActivity.class);
                i.putExtra("delay",500L);
                context.startService(i);
                System.out.println("*****Service Started*****");
                Toast.makeText(context, info, Toast.LENGTH_LONG).show();
            }

        }
    }


}

ここで、アクティビティ クラスを呼び出し、アクティビティ クラスでウィジェットのデザインを行いました。

于 2012-09-20T11:55:58.490 に答える
0

これは役立つかもしれません。ここでは、コンテキストを渡し、ウィジェットで Onclick イベントを取得する必要があります

Toast.makeText(context, "activated", Toast.LENGTH_LONG).show();

于 2012-09-20T11:56:31.407 に答える