在我正在开发的应用程序中,当我触摸设备的屏幕时,我连接到服务器,我使用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) 我的工作RecyclerView onItemClick和onItemLongClick,工作都不错,但问题是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)