(RippledRavable)上的java endAllStagingAnimators,句柄位于RecyclerView上
启动“活动”时出现此错误,我使用的是“循环视图”:
活动主XML:
<安卓.support.v7.widget.RecyclerView
xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
xmlns:tools="http://schemas.安卓.com/tools"
安卓:layout_width="match_parent"
安卓:layout_height="match_parent"
安卓:cacheColorHint="@color/colorAccent"
安卓:clipToPadding="false"
tools:context=".MainActivity"
安卓:paddingBottom="20dp"
安卓:paddingTop="20dp"
安卓:background="#fff"
安卓:id="@+id/maincat" />
活动主Java:
public class MainActivity extends AppCompatActivity {
public String URL = "http://xx.com/xx/Services.asmx/xx";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.maincat);
recyclerView.setHasFixedSize(true);
final MyRecyclerAdapter adapter;
recyclerView.setAdapter(adapter = new MyRecyclerAdapter(createMockList(), R.layout.activity_main_row));
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setItemAnimator(new DefaultItemAnimator());
recyclerView.setNestedScrollingEnabled(false);
adapter.setOnItemClickListener(new OnRecyclerViewItemClickListener<ViewModel>() {
@Override
public void onItemClick(View view, ViewModel viewModel) {
// adapter.goToSub(viewModel);
}
});
}
private List<ViewModel> createMockList() {
final List<ViewModel> items = new ArrayList<>();
RequestQueue queue = Volley.newRequestQueue(this);
JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, URL, null, new
Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
JSONArray obj = response.getJSONArray("Maincat");
for (int i = 0; i < obj.length(); i++) {
JSONObject jsonObject = obj.getJSONObject(i);
String Maincatname = jsonObject.getString("Maincatname");
String MaincatImage = jsonObject.getString("MaincatImage");
int ID = jsonObject.getInt("ID");
items.add(new ViewModel(ID,Maincatname,MaincatImage));
}
} catch (JSONException e) {
Log.e("e", e.toString());
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
queue.add(request);
return items;
}
和回收器适配器:
public class MyRecyclerAdapter extends RecyclerView.Adapter<MyRecyclerAdapter.ViewHolder> implements View.OnClickListener {
private Context context;
private List<ViewModel> items;
private OnRecyclerViewItemClickListener<ViewModel> itemClickListener;
private int itemLayout;
private PaletteManager paletteManager = new PaletteManager();
public MyRecyclerAdapter(List<ViewModel> items, int itemLayout) {
this.items = items;
this.itemLayout = itemLayout;
}
@Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(itemLayout, parent, false);
v.setOnClickListener(this);
return new ViewHolder(v);
}
@Override
public void onBindViewHolder(final ViewHolder holder, int position) {
final ViewModel item = items.get(position);
holder.itemView.setTag(item);
holder.text.setText(item.getText());
Picasso.with(holder.image.getContext()).load(item.getImage()).into(holder.image, new Callback() {
@Override public void onSuccess() {
holder.updatePalette(paletteManager);
}
@Override public void onError() {
}
});
}
@Override public int getItemCount() {
return items.size();
}
@Override public void onClick(View view) {
if (itemClickListener != null) {
ViewModel model = (ViewModel) view.getTag();
itemClickListener.onItemClick(view, model);
Sub_Cat sub_cat = new Sub_Cat();
sub_cat.Sub_Category_ID = model.getId();
final Intent intent;
intent = new Intent(context, Sub_Cat.class);
context.startActivity(intent);
}
}
public void add(ViewModel item, int position) {
items.add(position, item);
notifyItemInserted(position);
}
public void goToSub(ViewModel item) {
int position = items.indexOf(item);
}
public void setOnItemClickListener(OnRecyclerViewItemClickListener<ViewModel> listener) {
this.itemClickListener = listener;
}
public class ViewHolder extends RecyclerView.ViewHolder {
public ImageView image;
public TextView text;
public ViewHolder(View itemView) {
super(itemView);
context = itemView.getContext();
image = (ImageView) itemView.findViewById(R.id.image_maincat);
text = (TextView) itemView.findViewById(R.id.main_text_title);
}
public void updatePalette(PaletteManager paletteManager) {
String key = ((ViewModel)itemView.getTag()).getImage();
Bitmap bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap();
paletteManager.getPalette(key, bitmap, new PaletteManager.Callback() {
@Override
public void onPaletteReady(Palette palette) {
}
});
}
}
}
而logcat erroe是:
10-17 07:57:14.080 28715-28715/com.momentstel.springpalestine W/Settings: Setting airplane_mode_on has moved from 安卓.provider.Settings.System to 安卓.provider.Settings.Global, returning read-only value. D/OpenGLRenderer: endAllStagingAnimators on 0x7f69171c00 (RippleDrawable) with handle 0x7f7d62ca00 10-17 07:57:22.188 28715-28857/com.momentstel.springpalestine D/OpenGLRenderer: endAllStagingAnimators on 0x7f69296400 (RippleDrawable) with handle 0x7f7d62cf80 10-17 07:57:23.759 28715-28857/com.momentstel.springpalestine D/OpenGLRenderer: endAllStagingAnimators on 0x7f693ffc00 (RippleDrawable) with handle 0x7f6653f3c0 10-17 07:57:24.756 28715-28857/com.momentstel.springpalestine D/OpenGLRenderer: endAllStagingAnimators on 0x7f693df400 (RippleDrawable) with handle 0x7f6653f680
请帮帮我
共 (0) 个答案