单击小部件时如何呈现祝酒词?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单击小部件时如何呈现祝酒词?相关的知识,希望对你有一定的参考价值。
我需要做一个简单的小部件,在点击它时呈现Toast。我的问题是我无法找到或创建一个“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);
}
}
谢谢!
只需在小部件Toast.makeText(context, "activated", Toast.LENGTH_LONG).show();
的onClick()
方法中调用View.OnClickListener
Update:
如果你使用AppWidgetProvider
所以检查this和this one帖子
我认为你缺少展示创建的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();
}
});
}
}
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();
}
}
});
这可能会有所帮助,这里需要传递上下文并使用您的小部件获取Onclick事件
Toast.makeText(context,“activated”,Toast.LENGTH_LONG)。show();
试试这个:
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();
}
这是我的广播接收器类:
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
Incoming 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();
}
}
}
}
在这里,我调用了我的活动类..我在我的活动类中完成了我的小部件设计。
伙计我的VS环境是VS 2017与Xamarin。
private void DisplayMessage(string DisplayMsgText) { Toast.MakeText(this.ApplicationContext, DisplayMsgText, ToastLength.Short).Show(); }
并使用此功能在设备屏幕上显示消息,如下所示:
DisplayMessage(“按下振动按钮”);
以上是关于单击小部件时如何呈现祝酒词?的主要内容,如果未能解决你的问题,请参考以下文章