我有一个活动(main.xml& main.java)和一个额外的 item.xml 文件来定义列表项,main.xml包含listView及其java文件是main.java。那么问题是如何在main.java中更改listItem的文本大小? 如果main.xml包含一个文本(例如.t =(TextView)findViewById(R.id.text);),我们可以通过编写来改变它:
t.setTextSize(TypedValue.COMPLEX_UNIT_SP,16);
但是如何在main.java中更改 item.xml 的文本大小?
答案 0 :(得分:1)
我假设你正在使用适配器。覆盖适配器内部的getView()方法,并在其中:
TextView text = (TextView) listItemView.findViewById(R.id.text);
text.setTextSize(TypedValue.COMPLEX_UNIT_SP,16);
如果您不明白,我将在下面附上一个示例覆盖适配器内的getView()方法。
@NonNull
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
View listItemView = convertView;
if(listItemView == null)
{
listItemView = LayoutInflater.from(getContext()).inflate(R.layout.list_item, parent, false);
}
EarthQuake currentEarthQuakeObj = getItem(position);
TextView magText = (TextView) listItemView.findViewById(R.id.magnitude);
magText.setText(Double.toString(currentEarthQuakeObj.getMagnitude()));
return listItemView;
}