相关疑难解决方法(0)

Java垃圾收集如何与循环引用一起使用?

根据我的理解,如果没有其他东西"指向"该对象,Java中的垃圾收集会清除一些对象.

我的问题是,如果我们有这样的事情会发生什么:

class Node {
    public object value;
    public Node next;
    public Node(object o, Node n) { value = 0; next = n;}
}

//...some code
{
    Node a = new Node("a", null), 
         b = new Node("b", a), 
         c = new Node("c", b);
    a.next = c;
} //end of scope
//...other code
Run Code Online (Sandbox Code Playgroud)

a,bc应该是垃圾收集,但它们都被其他对象引用.

Java垃圾收集如何处理这个问题?(或者它只是一个内存消耗?)

java garbage-collection

148
推荐指数
6
解决办法
5万
查看次数

如何从适配器类调用getsupportfragmentmanager()?

我有一个ViewPager作为第一个项目RecyclerView.我想设置FragmentStatePagerAdapter到方法viewpager内部onBindViewHolder().但我不能打电话getsupportfragmentmanager().请帮助!! 这是我的代码:

public class CustomListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
    private Context context;
    private List<RowItem> rowItemList;
    private final int VIEW_TYPE_CUSTOM = 0;
    private final int VIEW_TYPE_NORMAL = 1;
    NewPagerAdapter mCustomPagerAdapter;

    public CustomListAdapter(Context context, List<RowItem> rowItemList) {
        this.context = context;
        this.rowItemList = rowItemList;
    }

    @Override
    public int getItemViewType(int position) {
        if (position == 0)
            return VIEW_TYPE_CUSTOM;
        else
            return VIEW_TYPE_NORMAL;
    }

    @Override
    public int getItemCount() {
        return rowItemList.size()+1;
    }

    @Override
    public void …
Run Code Online (Sandbox Code Playgroud)

android

26
推荐指数
6
解决办法
4万
查看次数

如何从适配器Android调用片段中的方法

我需要帮助所以我有一个片段,它有一个recycleView,在recycleView里面有一个按钮.

单击后按钮必须打开已经在基本片段中声明的对话框,所以我只调用"openDialog(DIALOG_CHECK);"

现在我如何在我的适配器上调用该对话框我已经在片段中创建了一个方法并从适配器调用它并发出错误"Java lang null pointer"

这是我的代码:

DeliveryFragment delivFrag = new DeliveryFragment();
holder.editButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                delivFrag.doEdit();
            }
        });
Run Code Online (Sandbox Code Playgroud)

在片段中

public  void doEdit(){
        openDialog(DIALOG_EDIT_ITEM);
    }
Run Code Online (Sandbox Code Playgroud)

java android android-fragments

3
推荐指数
3
解决办法
2万
查看次数