我正在使用recyclerview创建一个alertdialog.But创建时,recyclerview的适配器没有附加。所以在日志中显示skipping layout
因为没有附加适配器请帮助我。我正在创建这个警告对话框在recyclerview中点击另一个cardview时..
我的代码
public class MyRecyclerViewAdapter extends RecyclerView.Adapter<MyRecyclerViewAdapter.DataObjectHolder> {
private static String LOG_TAG = "MyRecyclerViewAdapter";
private ArrayList<DataObject2> mDataset;
private String headline;
private String reporterName;
private String date;
String[] title=null,url=null;
private RecyclerView.Adapter colorrecy;
private Activity activityContext;
Button set;
String loginURL="http://ezybzy.com/cntrldata/ezcolors.php";
EditText qua;
TextView text;
public static class DataObjectHolder extends RecyclerView.ViewHolder {
CardView cardView;
RecyclerView popuprecycler;
RecyclerView.Adapter mAdapter;
RequestQueue requestQueue;
public DataObjectHolder(View itemView, Context activityContext, ArrayList<DataObject2> mDataset) {
super(itemView);
cardView = (CardView) itemView.findViewById(R.id.car);
}
}
public MyRecyclerViewAdapter(Activity context, ArrayList<DataObject2> myDataset) {
mDataset = myDataset;
activityContext=context;
}
@Override
public DataObjectHolder onCreateViewHolder(ViewGroup parent,
int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.colorcard, parent, false);
DataObjectHolder dataObjectHolder = new DataObjectHolder(view,activityContext,mDataset);
return dataObjectHolder;
}
@Override
public void onBindViewHolder(final DataObjectHolder holder, final int position) {
Context context=null;
if(!(mDataset.get(position).getcolor().length()<=3&&mDataset.get(position).getcolor() == null && mDataset.get(position).getcolor().equals("#EE"))) {
Log.e("Hello",mDataset.get(position).getcolor());
holder.cardView.setCardBackgroundColor(Color.parseColor(mDataset.get(position).getcolor()));
holder.cardView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final AlertDialog.Builder builder=new AlertDialog.Builder(activityContext);
final LayoutInflater inflater=activityContext.getLayoutInflater();
builder.setView(inflater.inflate(R.layout.colorpopup, null));
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Dialog dialog1 = (Dialog) dialog;
holder.popuprecycler=(RecyclerView)dialog1.findViewById(R.id.recycler);
LinearLayoutManager incartlayout;
incartlayout = new LinearLayoutManager(activityContext);
incartlayout.setOrientation(LinearLayoutManager.VERTICAL);
GridLayoutManager gridLayoutManager=new GridLayoutManager(activityContext,2);
gridLayoutManager.setOrientation(GridLayoutManager.VERTICAL);
holder.popuprecycler.setLayoutManager(incartlayout);
holder.requestQueue= Volley.newRequestQueue(activityContext);
JsonObjectRequest jor = new JsonObjectRequest(Request.Method.GET, loginURL,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
JSONArray ja = response.getJSONArray("hi");
title = new String[ja.length()];
url = new String[ja.length()];
for (int i = 0; i < ja.length(); i++) {
JSONObject jsonObject = ja.getJSONObject(i);
// int id = Integer.parseInt(jsonObject.optString("id").toString());
url[i] = jsonObject.getString("hex_value") ;
Toast.makeText(activityContext, "" + url[i], Toast.LENGTH_SHORT).show();
//
}
holder.mAdapter = new PopupwindowAdapter(activityContext, getDataSet(url, title, ja.length()));
holder.popuprecycler.setAdapter(holder.mAdapter);
// Toast.makeText(getApplicationContext(),url[2],Toast.LENGTH_SHORT).show();
//output.setText(data);
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("Volley", error.toString());
}
}
);
holder.requestQueue.add(jor);
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.show();
}
});
}
}
public void addItem(DataObject2 dataObj, int index) {
mDataset.add(index, dataObj);
notifyItemInserted(index);
}
public void deleteItem(int index) {
mDataset.remove(index);
notifyItemRemoved(index);
}
@Override
public int getItemCount() {
return mDataset.size();
}
public interface MyClickListener {
public void onItemClick(int position, View v);
}
private ArrayList<Dataobjectforpopup> getDataSet(String[] images,String[] headlines,int size) {
// String[] images = getResources().getStringArray(R.array.images_array);
//String[] headlines = getResources().getStringArray(R.array.headline_array);
ArrayList results = new ArrayList<DataObject>();
for (int index = 0; index < size; index++) {
Dataobjectforpopup obj = new Dataobjectforpopup();
obj.setColo(images[index]);
//obj.setHeadline(headlines[index]);
results.add(index, obj);
}
return results;
}
}
我使用volley Request获取recyclerview数据。
logcat的
03-19 10:56:14.564 2407-2407/com.example.ahead.recyclerinrecycler E/RecyclerView: No adapter attached; skipping layout
03-19 10:56:14.592 2407-2407/com.example.ahead.recyclerinrecycler E/RecyclerView: No adapter attached; skipping layout