android - TextView setTexSize 属性在适配器中未按预期工作
问题描述
以下是我的 WordAdapter 的代码行
public WordAdapter(Context context, ArrayList<Word> words, int colorResourceId) {
super(context, 0, words);
mColorResourceId = colorResourceId;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// Check if an existing view is being reused, otherwise inflate the view
View listItemView = convertView;
if (listItemView == null) {
listItemView = LayoutInflater.from(getContext()).inflate(
R.layout.list_item, parent, false);
}
final Word currentWord = getItem(position);
TextView textView = (TextView)
listItemView.findViewById(R.id.text_view);
textView.setText((currentWord.getTextId()));
if (Fragment1.isActive == true){
textView.setTextSize(55);
} else if (Fragment1.isActive == false){
textView.setTextSize(35);
if (Fragment2.isActive == true) {
textView.setTextSize(35);
}else if (Fragment2.isActive == false){
textView.setTextSize(35);
if (Fragment3.isActive == true) {
textView.setTextSize(35);
}else if (Fragment3.isActive == false){
textView.setTextSize(35);
return listItemView;
}
但问题是我项目中的所有片段都更新为textSize 55 ...
我还注意到我在项目中的三个片段中的一个特殊之处.. 如果我单击第Fragment1
一个片段,则所有片段都会将textSize 更新为 55 .. 但如果我先单击其他两个片段..textSize
保持不变为 35。 ..
如果 Fragment1 在屏幕上处于活动状态,我想要的只是将TextSize 设置为 55,如果其他两个 Fragment 处于活动状态,则 textSize 应该为 35。
我在其他问题中读到,如果我使用我WordAdapter
班级的上下文参数,它可能......喜欢使用context.getClass().getSimpleName()
但不确定如何做......请指导我......
解决方案
在 WordAdapter 中声明一个 Context
private Context mContext;
在 WordAdapter ArrayList ..
mContext = context;
然后 .. 检查正在运行的活动并通过以下代码相应地设置 TextSize:
if (mContext.getClass().getSimpleName().equalsIgnoreCase("Activity1") || mContext.getClass().getSimpleName().equalsIgnoreCase("Activity3")) {
onClickTextView.setTextSize(55);
} else {
onClickTextView.setTextSize(35);
}
推荐阅读
- php - 如何让 Chrome 解释 php?这有什么插件吗?
- html - HTML 中的类绑定
- windows - 批量封装的 Powershell 代码在没有命令提示符窗口的情况下运行仍然无法工作
- python - 双向 LSTM 的问题
- javascript - VueJS - 如何从指令访问 mixin 方法
- antlr4 - 如何使用 Antlr4 编写用于解析字母数字文本的语法?
- python - 使用 Appium / Python,如何检查键盘是否显示?
- javascript - QML 输出中的 Javascript 控制台有时未定义
- ios - 向应用商店中的现有应用发布更新时签署 iOS 应用
- php - 如何在 Laravel 中打印类别名称的品牌名称?