【发布时间】:2015-08-01 08:50:58
【问题描述】:
我在启动 Activity 时调用此方法。我希望它显示在 RecycleView 这是我的代码并给我异常
公共类 FirstFragment 扩展片段 {
//private
String[] username = {"joe", "mido", "star", "fawzy", "mohsen"};
private RecyclerView recyclerView;
TextView textView;
ProgressDialog dialog;
FirstpageAdapter adapter;
View layout;
private final Handler myHandler = new Handler();
List<String> ids = new ArrayList<>();
private final static String TAG = "FIRST_FRAGMENT";
ListView listView;
Runnable updateRunnable;
public FirstFragment() {
// Required empty public constructor
}
public List<String> getData() {
List<String> data = new ArrayList<>();
for (int i = 0; i < username.length; i++) {
data.add(username[i]);
}
return data;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//new MyTask().execute();
View layout = inflater.inflate(R.layout.fragment_first, container, false);
recyclerView=(RecyclerView)layout.findViewById(R.id.firstList);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
PubNubService.herNow(new Callback() {
public void successCallback(String channel, Object message) {
try {
JSONObject object = new JSONObject(message.toString());
JSONArray jsonArray = object.getJSONArray("uuids");
for (int i = 0; i < jsonArray.length(); i++) {
ids.add(jsonArray.getString(i));
}
} catch (Exception e) {
e.printStackTrace();
}
Log.e(TAG, ids.size() + "");
Log.e(TAG, message.toString());
adapter = new FirstpageAdapter(getActivity(), ids);
recyclerView.setAdapter(adapter);
}
@Override
public void errorCallback(String s, PubnubError pubnubError) {
Log.e(TAG, "error Callback" + pubnubError.getErrorString());
}
});
return layout;
}
}
异常
08-01 14:16:06.903 12365-12490/com.sprintone E/AndroidRuntime: 致命异常: Non-Subscribe-Manager-1384510668-5 进程:com.sprintone,PID:12365 android.view.ViewRootImpl$CalledFromWrongThreadException:只有创建视图层次结构的原始线程才能接触其视图。 在 android.view.ViewRootImpl.checkThread(ViewRootImpl.java:6024) 在 android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:820) 在 android.view.View.requestLayout(View.java:16431) 在 android.view.View.requestLayout(View.java:16431) 在 android.view.View.requestLayout(View.java:16431) 在 android.view.View.requestLayout(View.java:16431) 在 android.view.View.requestLayout(View.java:16431) 在 android.view.View.requestLayout(View.java:16431) 在 android.support.v4.widget.DrawerLayout.requestLayout(DrawerLayout.java:979) 在 android.view.View.requestLayout(View.java:16431) 在 android.view.View.requestLayout(View.java:16431) 在 android.view.View.requestLayout(View.java:16431) 在 android.view.View.requestLayout(View.java:16431) 在 android.support.v7.widget.RecyclerView.requestLayout(RecyclerView.java:2245) 在 android.support.v7.widget.RecyclerView.setAdapter(RecyclerView.java:564) 在 com.sprintone.userInterface.Fragment.FirstFragment$1.successCallback(FirstFragment.java:101) 在 com.pubnub.api.PubnubCore.invokeCallback(未知来源) 在 com.pubnub.api.PubnubCore.invokeCallback(未知来源) 在 com.pubnub.api.PubnubCore$11.handleResponse(未知来源) 在 com.pubnub.api.NonSubscribeWorker.process(未知来源) 在 com.pubnub.api.Worker.run(未知来源) 在 java.lang.Thread.run(Thread.java:841)
【问题讨论】:
标签: android android-recyclerview pubnub