我有我想在TextView中顯示的整數列表(使用RecyclerView)。問題是每次我的整數都被最後一個元素覆蓋。我在ViewHolder的bind方法內調用這個方法。 是否有可能使用setText而不是append並將每個整數寫入textview?ArrayList只顯示最後一個元素
public void showRankings(){
Integer[] rankingsArray = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
List<Integer> rankings = Arrays.asList(rankingsArray);
for (Integer i : rankings){
rankingsTxt.setText("#" + Integer.toString(i));
}
}
完全ViewHolder:
public class TvHolder extends ButterKnifeVH {
@Bind(R.id.trade_btn) AutoResizeTextView tradeBtn;
@Bind(R.id.gain_lose) public AutoResizeTextView gainTxt;
@Bind(R.id.symbolName) public AutoResizeTextView symbolName;
@Bind(R.id.parent) ConstraintLayout constraintLayout;
@Bind(R.id.ranking) AutoResizeTextView rankingsTxt;
@BindString(R.string.percent_string) String strPercent;
private FragmentActivity fragmentActivity;
private TopsFlopsView topsFlopsView;
private TopsFlopsSymbolEntity topsEntity;
public TvHolder(ViewGroup parent, int layoutId
,FragmentActivity fragmentActivity,TopsFlopsView topsFlopsView) {
super(parent, layoutId);
this.topsFlopsView = topsFlopsView;
this.fragmentActivity = fragmentActivity;
}
public void bind(TopsFlopsSymbolEntity topsEntity){
symbolName.setText(topsEntity.getSymbol());
showRankings();
}
public void showRankings(){
Integer[] rankingsArray = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20};
List<Integer> rankings = Arrays.asList(rankingsArray);
for (Integer i : rankings){
rankingsTxt.setText("#" + Integer.toString(i));
}
}
}
}
下面是適配器的主要部分,其做工精細
public class TopsAdapter
extends RealmRecyclerViewAdapter<TopsFlopsSymbolEntity, RecyclerView.ViewHolder> {
private FragmentActivity context;
private TopsFlopsView view;
public TopsAdapter(Realm realm) {
super(realm);
}
@Override
public void onBindRealmViewHolder(RecyclerView.ViewHolder holder, TopsFlopsSymbolEntity tops) {
if(holder instanceof TopsViewHolder){{
((TopsViewHolder) holder).bind(tops);
}}
}
@Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return new TopsViewHolder(parent, R.layout.tops_flops_item, context, view);
}
提供給我們怎麼樣,你寫你的適配器 –
此代碼將始終設置'rankingsTxt'的'text'場排名最後的值的完整代碼。提供你的整個代碼 –
嘗試'rankingsTxt.setText(rankingsTxt.getText()+「#」+ Integer.toString(i));' –