【发布时间】:2016-10-07 01:37:10
【问题描述】:
首先,我读过其他与我有同样问题的帖子;从我的总结来看,问题通常是因为 imageviews/pictures + listeners。但这不是我的情况。我什至没有为我的delButton 和addButton 创建听众,而且我仍然落后。
我打算做什么: https://gyazo.com/ff984e87fc11543d44d1b549147f870c
只要点击添加按钮,就会创建一个新的listRow
这是我的 RecyclerVIew 课程:
public class RecyclerAdapter extends RecyclerView.Adapter {
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.saved_list_layout, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
((ViewHolder) holder).bindView(position);
}
@Override
public int getItemCount() {
return SavedLists.mListRow.size();
}
public class ViewHolder extends RecyclerView.ViewHolder{
TextView mListTextView;
public ViewHolder(View itemView) {
super(itemView);
mListTextView = (TextView) itemView.findViewById(R.id.currentLIst);
}
public void bindView(int position){
mListTextView.setText("List # " + position);
}
}
}
这是我的活动课
public class SavedLists extends AppCompatActivity {
// private yourListNumber[] mHoles = new yourListNumber[0];
public static final ArrayList<ListRow> mListRow = new ArrayList<ListRow>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_saved_lists);
Button mButton = (Button) findViewById(R.id.addList);
//RECYCLERADAPTER set-up here:
final RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerView);
final RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(new RecyclerAdapter());
mButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
mListRow.add(new ListRow());
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(new RecyclerAdapter());
//instead of repeating these 3 lines of code, you can use refresh
}
});
}
}
【问题讨论】:
标签: android performance android-recyclerview performance-testing