私はRecyclerViewを使用してTextView内に表示したい整数のリストを持っています。問題は最後の要素によって整数がオーバーライドされるたびに発生します。このメソッドをViewHolderのbindメソッド内で呼び出しています。 appendではなくsetTextを使用して、各整数を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));' –