小编Eph*_*itt的帖子

使用 Flowable/Observable 时从房间 @Query 生成不正确的代码

当尝试在空间中使用 RxJava 时,我收到一个错误,指出生成的代码是错误的。返回 Single 时,它​​工作正常。但是当使用 flowable 或 observable 时,它​​会向生成的方法添加一个额外的布尔参数,从而导致错误。

询问

@Query("SELECT * FROM cards")
fun cardsStream(): Observable<List<Card>>
Run Code Online (Sandbox Code Playgroud)

错误

error: no suitable method found for createObservable(RoomDatabase,boolean,String[],<anonymous Callable<List<Card>>>)
Run Code Online (Sandbox Code Playgroud)

生成的方法。如果我删除false然后它编译。但显然我不能这样做,因为这是生成的代码。

return RxRoom.createObservable(__db, false, new String[]{"cards"}, new Callable<List<Card>>() {
Run Code Online (Sandbox Code Playgroud)

android rx-java2 android-room

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

从自定义ArrayAdapter内部关闭对话框

我有一个自定义对话框片段,里面有一个自定义ArrayAdapter.每个列表项都有3个按钮.点击每个按钮,我有OnClickListener()一个功能.功能完成后,我需要关闭对话框.因为这是在ArrayAdapter中完成的,所以我无法dismiss()在对话框片段中调用.我尝试OnClickListener()在对话框片段中设置一个按钮,但是我得到一个空指针.

我无法弄清楚如何从自定义arrayAdapter中获取对话框片段的引用.onclick事件必须在ArrayAdapter内部发生,因为它使用特定于该列表项的信息.任何帮助将不胜感激.谢谢.

DialogFragment:

public class SavedArmyDialog extends DialogFragment {
View mView;

public static SavedArmyDialog newInstance() {
    SavedArmyDialog fragment = new SavedArmyDialog();
    return fragment;
}

public SavedArmyDialog() {
    // Required empty public constructor
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    mView =  inflater.inflate(R.layout.custom_army_list, container, false);

    CustomArmyObjData customArmyObjData = new CustomArmyObjData();
    ArrayList<CustomArmy> customArmyArray = customArmyObjData.getCustomArmyArray(getActivity());

    CustomArmyAdapter adapter …
Run Code Online (Sandbox Code Playgroud)

android dialog android-arrayadapter

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