小编Mmt*_*Bkn的帖子

Android - Recycler View在EditText上单击错误的Holder

我有一个Recycler View来显示数据列表,并在Recycler View中编辑文本以允许用户编辑一些数字.

当键盘显示/隐藏时,我的应用程序也会调整活动大小.

该应用程序运行良好,除非我想编辑放在底部的项目.当我单击编辑文本时,它会调整屏幕大小,显示键盘,焦点持有者但错误的一个:通常是一个之前,有时是2个.

我试图跟踪问题,并了解LinearLayoutMnager的onFocusSearchFailed函数返回错误的视图.

知道为什么会这样吗?

适配器

private final LinearLayoutManager linearLayoutManager;
public Observable<double[][]> observable;
private ObservableEmitter<double[][]> observe;


List<Invoice> invoices = Collections.emptyList();
double[][] amounts;
Context context;

public AdjustInvoiceAdapter(List<Invoice> list, Context context, LinearLayoutManager linearLayoutManager) {
    this.invoices = list;
    this.context = context;
    this.linearLayoutManager = linearLayoutManager;

    amounts = new double[invoices.size()][1];
    for (int i = 0; i < list.size(); i++) {
        amounts[i][0] = invoices.get(i).getAmountDue();
    }
    observable = Observable.create(new ObservableOnSubscribe<double[][]> (){
        @Override
        public void subscribe(ObservableEmitter<double[][]> emitter) throws Exception {
            observe = emitter;
        }
    });
} …
Run Code Online (Sandbox Code Playgroud)

keyboard resize focus android-viewholder android-recyclerview

6
推荐指数
0
解决办法
459
查看次数

使用 RxJava 2.x 是否可以使用 Zip 超过 2 个 Observable?

我正在使用 RxJava 2.x,并且有 3 个 observables(如果重要的话,特别是发布主题)。

我喜欢将它们全部运行一次,并获得一次结果。我正在使用Observable.zip()运算符进行此类过程。但是看起来 Zip 运算符不支持超过 2 个 observables。

是否有其他运算符可以像 zip 一样组合 3 个以上的观察值?

Observable.zip(
        getData(),
        getOtherData(),
        getTemplate(),
        (o1,o2,o3)->{

        });
Run Code Online (Sandbox Code Playgroud)

android rx-java rx-java2

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

如何选择recyclerview中列出的所有项目?

我在recyclerview中有项目列表,并且它们是多个可选的。

我想要选择按钮以全选,如果选择则取消全选。我没有看到通过RecyclerView.Adapter进行迭代的任何选项。我该如何实施?

谢谢。

android android-recyclerview

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

在React组件中向this.props.children添加自定义道具

我有接受孩子的组件.我们说吧;

<Toolbar><div>C1</div><div>C2</div></Toolbar>
Run Code Online (Sandbox Code Playgroud)

当我{children}在里面打印孩子时Toolbar,我可以看到它们.但是,我需要添加/ manupilate一些道具,所以我想迭代它们(像其他arrays.map).但是,当我尝试使用时,children.map我得到以下错误.

Warning: React.createElement: type is invalid -- expected a string (for built-in 
components) or a class/function (for composite components) but got: object.
Run Code Online (Sandbox Code Playgroud)

我怎么能得到这个?

谢谢!

编辑; 我的意思是;

{children.map((Child,index)=> <Child {...newProps}/>)}
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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

如何从MainActivity获取当前片段

我已经做了一些研究,但我确实找不到答案。

我有一个带有侧面菜单和支架的单一活动。我有很多(不支持)片段,而且所有片段都使用同一持有人(一次)。

当用户使用菜单(它在主要活动中)并转到另一个页面时,我想将当前片段的名称添加到Backstack中(使用.addToBackStack(Fragment1.class.getName())),但是我找不到如何获取当前片段的方法。

我不想实现接口等来跟踪当前片段。有没有使用fragmentManger的超级简单方法?

android android-fragments fragmentmanager

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

使用本地或全局变量是否更好

使用本地或全局变量更好吗?

假设谈论2000多行android(java)服务类,并且所有服务都在处理'request'对象和类似的共享对象.

如果我将所有内容都设置为本地(保留在函数内部),我需要每次都传递许多变量,或多次覆盖相同的函数.我需要确保对象和子对象也不是null.

如果我将一些变量设置为全局(在整个类中),我可以共享它们,在函数中使用它们.我认为这将使一切变得更容易.

在函数内部定义变量或定义全局变量的好处和坏处是什么?在实践中,在理论上(可读性等).

有建议的方法吗?

谢谢.

java android software-design

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

Java Collections.sort不调用compare方法

我已经阅读了所有答案等,但他们没有解决我的问题.

我有基本功能来按字符串InvoiceNumber对自定义对象数组列表进行排序.

List<Invoice> invoiceList = new ArrayList<>();

...
// invoiceList filled here
...

Collections.sort(invoiceList, new Comparator<Invoice>()
{
    @Override
    public int compare(Invoice o1, Invoice o2)
    {
           return o1.InvoiceNumber.compareTo(o2.InvoiceNumber);
    }
});
Run Code Online (Sandbox Code Playgroud)

Invoice类的某些部分.

public class Invoice extends AttributeContainer
implements KvmSerializable,android.os.Parcelable, Comparable
{

public String CustomerId;

public String InvoiceNumber;
Run Code Online (Sandbox Code Playgroud)

更多代码的图片. 是啊.

但是,它从不调用比较方法.

我正在使用android studio和最新的库.有什么我想念的吗?

java sorting collections

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