小编Sus*_*ant的帖子

如何防止弹出菜单关闭复选框单击

我在网上搜索了很多,但没有任何关于阻止弹出菜单关闭.

每当我点击复选框项或任何其他弹出菜单项时,弹出菜单都会自动关闭.如何在弹出菜单中的用户选中/取消选中复选框时阻止它被忽略.

我在动作栏菜单项的点击事件上显示弹出菜单.

//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)

checkbox android popupmenu

10
推荐指数
3
解决办法
7599
查看次数

棒棒糖通知图标太小

我正在尝试这段代码,

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()方法,但仍然没有乐趣.

在此输入图像描述

notifications icons android android-5.0-lollipop

9
推荐指数
1
解决办法
4013
查看次数

发件人离线时如何发送XMPP消息?

我正在使用aSmack和Openfire进行聊天应用.我能够很好地发送和接收消息.当收件人离线时,Openfire支持离线邮件传输,通过保持消息直到他联机.

但是当发件人离线或他的互联网在通信之间掉线时该怎么办?

是否有任何api由aSmack/Smack提供,它会在互联网恢复之前保留消息?

或者我应该通过SQLite发送消息?

android offline xmpp sender asmack

7
推荐指数
1
解决办法
2139
查看次数

EditText setError 在 PopupWindow 中不起作用

我有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)

android android-edittext android-popupwindow

5
推荐指数
1
解决办法
710
查看次数

如何将自定义扩展(时间)添加到<message>标记?

我正在尝试使用自定义数据包扩展向邮件添加时间扩展.似乎在发送消息时添加了时间.但在接收端,它显示为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)

time android message xmpp

2
推荐指数
1
解决办法
1928
查看次数