Android - TextView textStyle is not changing



我想根据我得到的数据将TextView样式从粗体切换到正常

我是这样做的:

reserveCount.setText("Reservations " + reservationCount);
if(reservationCount<20){
Log.i("reserveCount", "typeface: NORMAL");
reserveCount.setTypeface(reserveCount.getTypeface(), Typeface.NORMAL);
} else {
Log.i("reserveCount", "typeface: BOLD");
reserveCount.setTypeface(reserveCount.getTypeface(), Typeface.BOLD);
}

但是样式完全没有改变(它一直保持粗体)。

尝试在最后调用reserveCount.invalidate()reserveCount.requestLayout()来强制重绘View

试试像
reserveCount.setText("Reservations " + reservationCount);
if(reservationCount<20){
Log.i("reserveCount", "typeface: NORMAL");
reserveCount.setTypeface(Typeface.defaultFromStyle(Typeface.NORMAL));
} else {
Log.i("reserveCount", "typeface: BOLD");
reserveCount.setTypeface(Typeface.defaultFromStyle(Typeface.BOLD));
}

最新更新