小编Smi*_*dia的帖子

AsyncTask和IllegalArgumentException

在我正在开发的应用程序中,当我触摸设备的屏幕时,我连接到服务器,我使用AsyncTask显示忙碌的指示器,在这一步我没有问题.但是当我连接并按下home buttom"应用程序进入onPause"并且我将应用程序再次显示为"onResume"并触摸屏幕再次连接到服务器,我收到以下发布的logCat错误.

注意:在onPause我urnRegister WiFi接收器,我断开与服务器的连接.logCat输出显示AsyncTask的调用回调序列

我不知道为什么我收到IllegalArgumentException,我读了一些关于它的postes,我测试了名为"client"的对象,它永远不会为null

LogCat:

03-09 14:26:13.413: D/MainActivity(17065): @MQTTAsynchTask(): constructor called
03-09 14:26:13.413: D/MainActivity(17065): @MQTTAsynchTask(): client is not null
03-09 14:26:13.413: D/MainActivity(17065): @MQTTAsynchTask(): onPreExecute().
03-09 14:26:13.422: D/MainActivity(17065): @MQTTAsynchTask(): doInBackground().
03-09 14:26:13.433: E/AndroidRuntime(17065): FATAL EXCEPTION: pool-1-thread-1
03-09 14:26:13.433: E/AndroidRuntime(17065): Process: com.example.mqtt_designlayout_02, PID: 17065
03-09 14:26:13.433: E/AndroidRuntime(17065): java.lang.IllegalArgumentException: Invalid ClientHandle
03-09 14:26:13.433: E/AndroidRuntime(17065):    at org.eclipse.paho.android.service.MqttService.getConnection(MqttService.java:552)
03-09 14:26:13.433: E/AndroidRuntime(17065):    at org.eclipse.paho.android.service.MqttService.connect(MqttService.java:318)
03-09 14:26:13.433: E/AndroidRuntime(17065):    at org.eclipse.paho.android.service.MqttAndroidClient.doConnect(MqttAndroidClient.java:427)
03-09 14:26:13.433: E/AndroidRuntime(17065):    at org.eclipse.paho.android.service.MqttAndroidClient.access$2(MqttAndroidClient.java:417)
03-09 14:26:13.433: E/AndroidRuntime(17065):    at org.eclipse.paho.android.service.MqttAndroidClient$1.run(MqttAndroidClient.java:395)
03-09 14:26:13.433: E/AndroidRuntime(17065):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) …
Run Code Online (Sandbox Code Playgroud)

android android-asynctask mqtt

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

recycleview onLongclick会自动调用onClick

我的工作RecyclerView onItemClickonItemLongClick,工作都不错,但问题是onItemLongClick还要求onItemClick.

这是我的适配器代码:

package Adaptor;

import android.annotation.SuppressLint;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.wings.example.recycleview.MainActivity;
import com.wings.example.recycleview.R;

import java.util.ArrayList;

public class SampleAdapter extends RecyclerView.Adapter<SampleAdapter.ViewHolder> {


Context context;
private ArrayList<String> arrayList;
private static onClickListner onclicklistner;

public SampleAdapter(Context context) {
    this.context = context;
    arrayList = MainActivity.arrayList;
}

public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener, View.OnLongClickListener {

    TextView txt_pos;
    SampleAdapter sampleAdapter;

    public ViewHolder(View itemView, SampleAdapter sampleAdapter) {
        super(itemView);

        itemView.setOnClickListener(this); …
Run Code Online (Sandbox Code Playgroud)

android onitemclicklistener android-recyclerview

-1
推荐指数
1
解决办法
1105
查看次数