小编jub*_*kon的帖子

两个片段之间的EventBus事件未触发

问题:我使用EventBusgreenrobot通过一些事件。不幸的是,对于在两个之间fragments不传递数据的情况,它对我有用。因此,该事件不会被触发。

问题:我会误解这个概念吗?还是我的代码有错误?

注意:两个片段在发送事件时都存在。一个fragment是父母,另一个是孩子以显示详细信息。

详细片段:

public class DetailFragment extends Fragment {
(...)

refreshButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
EventBus.getDefault().post(new IntentRefresh());
            }
        });
(...)

}
Run Code Online (Sandbox Code Playgroud)

EventBus类别:

public class IntentRefresh {

    public IntentRefresh (){}

    public void refreshParent() {

    }

}
Run Code Online (Sandbox Code Playgroud)

父片段:

public class ParentFragment extends Fragment {

    (...)

    @Override
    public void onPause() {
        super.onPause();
        EventBus.getDefault().unregister(this);
    }

    @Override
    public void onResume() {
        super.onResume();
        EventBus.getDefault().register(this);
    }

    @Subscribe(threadMode = ThreadMode.MAIN)
    public void …
Run Code Online (Sandbox Code Playgroud)

android callback event-bus android-fragments

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

Haskell - 列表操作:解析模式中的错误

我正在写Haskell一个函数,它获取两个类型列表,Int并将一个列表的值添加到另一个列表中.

例如:addElements [1,2,3] [4,5,6]将给出输出:[5,7,9]

到目前为止我的功能:

addElements :: [Int] -> [Int] -> [Int]
addElements [] [] = []
addElements x:xs [] = x:xs
addElements [] y:ys = y:ys
addElements x:xs y:ys = [x+y] ++ addElements xs ys
Run Code Online (Sandbox Code Playgroud)

我一直收到错误:

模式中的解析错误:addElements失败,模块已加载:无

我没有得到任何其他信息 - 我做错了什么?

haskell list concatenation addition

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

Haskell - 选择ln函数

我必须编写一个函数choose l n,打印所有可能组合n的列表以选择列表的元素l.

作为一个例子,呼叫choose [1,2,3] 2返回[[1,2], [1,3], [2,3]][[2,1], [3,1], [3,2]]

不幸的是我不明白解决方案:

choose :: [a] -> Int -> [[a]]
choose _ 0 = [[]]
choose [] _ = []
choose (x:xs) n = (map (\ys -> x:ys) (choose xs (n-1))) ++ (choose xs n)
Run Code Online (Sandbox Code Playgroud)

我理解前两个陈述.最后一行对我来说并不清楚.

有人可以解释一下吗?

haskell functional-programming

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

Haskell-在列表中找到最小的元素

我有一个获取列表并必须返回其最小元素的函数。

不幸的是,我一直遇到这个问题:

解析模式错误:最小

我做错了什么?

minim :: [Int] -> Int
minim []       = 0
minim [x]      = x
minim x:xs     = min x (minim xs)

min :: Int -> Int -> Int
min a b
    | a > b  = b
    | a < b  = a
Run Code Online (Sandbox Code Playgroud)

recursion haskell functional-programming pattern-matching parse-error

0
推荐指数
2
解决办法
5230
查看次数