我在网上搜索了很多,但没有任何关于阻止弹出菜单关闭.
每当我点击复选框项或任何其他弹出菜单项时,弹出菜单都会自动关闭.如何在弹出菜单中的用户选中/取消选中复选框时阻止它被忽略.
我在动作栏菜单项的点击事件上显示弹出菜单.
//main_menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.worldofjobs.woj.MainActivity" >
<item
android:id="@+id/action_popUpMenu"
android:icon="@drawable/ic_action_overflow"
android:title="@string/main_action_popUpMenu"
app:showAsAction="always"/>
</menu>
//popup_items.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/refresh_item"
android:title="@string/main_refresh"/>
<item
android:id="@+id/checkbox_item"
android:checkable="true"
android:title="Start notification"/>
<item
android:id="@+id/changePasswrod_item"
android:title="@string/main_changePassword"/>
<item
android:id="@+id/deleteAccount_item"
android:title="@string/main_deleteAccount"/>
<item
android:id="@+id/logout_item"
android:title="@string/main_logout"/>
</menu>
/**
* Shows popup menu on click of action bar-menu inflates from
* menu.pop_items-xml
*/
private void showPopup() {
try {
View v = findViewById(R.id.action_popUpMenu);
PopupMenu popup = new PopupMenu(this, v);
popup.setOnMenuItemClickListener(MainActivity.this);
MenuInflater inflater = popup.getMenuInflater();
inflater.inflate(R.menu.pop_items, popup.getMenu());
popup.show(); …Run Code Online (Sandbox Code Playgroud) 我正在尝试这段代码,
NotificationCompat.Builder nfBuilder = new NotificationCompat.Builder(
context)
..setContentTitle(
"XYZ")
.setContentText("ABC")![enter image description here][1]
.setContentIntent(pIntent)
.setDefaults(Notification.DEFAULT_ALL)
.setOnlyAlertOnce(true)
.setAutoCancel(true)
.setPriority(Notification.PRIORITY_HIGH)
.setSmallIcon(R.drawable.woj_ic_launcher);
Notification notification = nfBuilder.build();
NotificationManager nfManager = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);
nfManager.notify(requestCode, notification);
Run Code Online (Sandbox Code Playgroud)
问题是,它适用于所有其他平台,但使用棒棒糖,它显示非常小的图标,周围有灰色圆圈.我尝试更改图标大小并使用setLargeIcon()方法,但仍然没有乐趣.

我正在使用aSmack和Openfire进行聊天应用.我能够很好地发送和接收消息.当收件人离线时,Openfire支持离线邮件传输,通过保持消息直到他联机.
但是当发件人离线或他的互联网在通信之间掉线时该怎么办?
是否有任何api由aSmack/Smack提供,它会在互联网恢复之前保留消息?
或者我应该通过SQLite发送消息?
我有popup window自定义布局,其中有edittext. 我正在尝试显示错误消息edittextwithsetError方法中显示错误消息,但它给出了以下异常。
android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRootImpl$W@211ffd68 is not valid; is your activity running?
at android.view.ViewRootImpl.setView(ViewRootImpl.java:579)
at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:282)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:85)
at android.widget.PopupWindow.invokePopup(PopupWindow.java:1104)
at android.widget.PopupWindow.showAsDropDown(PopupWindow.java:1008)
at android.widget.PopupWindow.showAsDropDown(PopupWindow.java:968)
at android.widget.Editor.showError(Editor.java:334)
at android.widget.Editor.setError(Editor.java:355)
at android.widget.TextView.setError(TextView.java:4654)
at android.widget.TextView.setError(TextView.java:4639)
at com.ebusiness.worldofjobs.helpers.HelperEditText.isEmailValid(HelperEditText.java:38)
at com.ebusiness.worldofjobs.activities.LoginActivity$4$2.onClick(LoginActivity.java:149)
at android.view.View.performClick(View.java:4785)
at android.view.View$PerformClick.run(View.java:19884)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5343)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)
Run Code Online (Sandbox Code Playgroud)
弹出窗口:
View popupView = LayoutInflater.from(LoginActivity.this).inflate(R.layout.popup_reset_password, null);
EdiText etSmaple = …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用自定义数据包扩展向邮件添加时间扩展.似乎在发送消息时添加了时间.但在接收端,它显示为null.
这是我的数据包扩展类和EmbeddedExtensionProvider
public class TimestampExtension implements PacketExtension {
public static final String ELEMENT = "timestamp";
public static final String NAMESPACE = "urn:xmpp:timestamp";
public String TIME = null;
public TimestampExtension() {
}
public void setTime() {
SimpleDateFormat time = new SimpleDateFormat("hh:mm a");
Date dateTime = new Date();
String strTime = time.format(dateTime);
this.TIME = strTime;
}
public String getTime() {
return TIME;
}
@Override
public String getElementName() {
return ELEMENT;
}
@Override
public String getNamespace() {
return NAMESPACE;
}
@Override
public String …Run Code Online (Sandbox Code Playgroud)