小编Aar*_*sai的帖子

Android recyclelerView findViewHolderForAdapterPosition返回null

我想以编程方式单击recyclerView中的项目,我找到了一种方法:

recyclerView.findViewHolderForAdapterPosition(0).itemView.performClick();
Run Code Online (Sandbox Code Playgroud)

但它对我不起作用,findViewHolderForAdapterPosition只返回null.

我在代码中遗漏了什么吗?

HistoryListAdapter:

public class HistoryListAdapter extends RecyclerView.Adapter<HistoryListAdapter.ViewHolder> {
private static ArrayList<RecordItem> recordItems;
private static FragmentActivity activity;
private static RecordList recordList;

public HistoryListAdapter(ArrayList<RecordItem> recordItems, FragmentActivity FA, RecordList FRL) {
    this.recordItems = recordItems;
    this.activity = FA;
    this.recordList = FRL;
}

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    // create a new view
    View itemLayoutView = LayoutInflater.from(parent.getContext()).inflate(R.layout.recorditem, parent, false);
    return new ViewHolder(itemLayoutView);
}

@Override
public void onBindViewHolder(final ViewHolder viewHolder, final int position) {
    // TextView …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview

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

如何将Textviews放入数组并findViewById呢?

两天我一直在努力解决这个问题但仍然无法找到解决方案,我认为我对OOP的基本知识很差.

现在我宣布大约二十TextView,我想知道有没有办法存储TextView到一个数组,findViewById他们?

我试图使用一个数组,像这样:

public class MainActivity extends Activity {

private TextView name, address;
LinkedHashMap<Integer, TextView> demo = new LinkedHashMap<>();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    int temp;
    allTextview = new TextView[]{name, address};
    for(int i=0; i<allTextview.length; i++){
       temp = getResources().getIdentifier(allTextview[i], "id", getPackageName());
       allTextview[i] = (TextView)findViewById(temp);
    }
}}
Run Code Online (Sandbox Code Playgroud)

此方法导致"name"和"allTextview [0]"不指向同一对象.我也使用这个解决方案,但仍然是一样的.

我认为原因是"名称"和"地址"刚刚宣布,并没有指向任何对象,我该如何解决?

我想用循环来findViewById,我可以使用"name"和"allTextview [0]"来做某事TextView.

谢谢你的帮助,请原谅我可怜的英语.

java arrays android

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

标签 统计

android ×2

android-recyclerview ×1

arrays ×1

java ×1