小编Joh*_*nha的帖子

Android:反转RecyclerView职位

我正在设置一个像列表一样的RecyclerView,我想在列表底部有一个按钮,当点击时添加更多视图,我认为更简单的方法是将位置0作为第一个在在底部,并将位置增加到顶部,因此我可以在单击位置0中的视图时添加视图.如果对这个问题有更好的方法,请分享.

这是我的适配器:

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

   public List<String> items = new ArrayList<>();



    public void addItem(String name) {
        notifyItemInserted(items.size() - 1);
        items.add(name);

    }

    public void removeItem(int position) {
        items.remove(position);
        notifyItemRemoved(position);
        notifyItemRangeChanged(position, items.size());
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        LayoutInflater inflater = LayoutInflater.from(parent.getContext());
        View view = inflater.inflate(R.layout.add_event_item, parent, false);

        return new ViewHolder(view);
    }

    @Override
    public int getItemCount() {
        return items.size();
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        holder.setData(position);
        holder.eventName.setText(i + "");
        if(position == 0)
        { …
Run Code Online (Sandbox Code Playgroud)

java android android-recyclerview

3
推荐指数
1
解决办法
1465
查看次数

在API23之前的RelativeLayout.params getRule

我正在尝试检查RelativeLayout.LayoutParams中的规则,但getRule()仅在API 23中引入,有没有办法在早期版本中执行此操作?

android

2
推荐指数
1
解决办法
526
查看次数

检查ScrollView是否已到达布局的顶部

是否可以检查ScrollView是否在顶部滚动?

我想检查一下,这样我就可以启用SwipeRefreshLayout,否则将其禁用.

使用ListView可以像这样完成,但ScrollViews没有setOnScrollListener

listView.setOnScrollListener(new OnScrollListener() {

    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {
    }

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem,
            int visibleItemCount, int totalItemCount) {
        boolean enable = false;
        if(listView != null && listView.getChildCount() > 0){
            // check if the first item of the list is visible
        boolean firstItemVisible = listView.getFirstVisiblePosition() == 0;
        // check if the top of the first item is visible
        boolean topOfFirstItemVisible = listView.getChildAt(0).getTop() == 0;
        // enabling or disabling the refresh layout
        enable …
Run Code Online (Sandbox Code Playgroud)

java android uiscrollview

2
推荐指数
1
解决办法
1915
查看次数

RecyclerView:notifyItemRemoved()上最后一个项目的动画

行为的视频:https : //vid.me/nF1J

移除:

viewHolder.buttonDelete.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        mItemManger.removeShownLayouts(viewHolder.swipeLayout);
        mDataset.remove(position);
        notifyItemRemoved(position);
        notifyItemRangeChanged(position, mDataset.size());
        mItemManger.closeAllItems();
        Toast.makeText(view.getContext(), "Deleted " + viewHolder.textViewPos.getText().toString() + "!", Toast.LENGTH_SHORT).show();
    }
});
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

注意: 我正在使用此库,并且已经更新了库。

更新:

viewHolder.buttonDelete.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        mItemManger.removeShownLayouts(viewHolder.swipeLayout);
        mResultArray.remove(position);
        notifyItemRangeChanged(position, mResultArray.size());
        notifyItemRemoved(position);
        mItemManger.closeAllItems();
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                notifyDataSetChanged();
            }
        }, 500);
    }
});
Run Code Online (Sandbox Code Playgroud)

java android android-recyclerview

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

Gradle:编译SNAPSHOT库

我有要使用的库,可以安装一个版本,但是开发人员发布了最新的SNAPSHOT版本,如何编译它?

我尝试了compile 'com.(...):1.4.0-SNAPSHOT没有结果?

android gradle android-studio

0
推荐指数
1
解决办法
1814
查看次数