gpt4 book ai didi

java - 帮我动态更改 TextView 颜色吗?

转载 作者:行者123 更新时间:2023-12-01 15:48:50 25 4
gpt4 key购买 nike

我想知道如何动态更改 TextView 的颜色。似乎有一些东西在那里,但现在正是我正在寻找的..我在这里做的是迭代一个数组,如果它的“+”我希望文本是绿色的,如果它的“-”我想要文本为红色,问题是我在 ct.setTextColor(.....) 处遇到空指针错误有人知道为什么吗?

这是 xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:padding="6dip">
<ImageView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_marginRight="6dip"
android:src="@drawable/icon" />
<LinearLayout
android:orientation="vertical"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="fill_parent">
<TextView
android:id="@+id/tt"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:gravity="center_vertical"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:id="@+id/bt"
android:singleLine="true"
android:ellipsize="marquee"
/>
</LinearLayout>
<TextView
android:id="@+id/pm"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="right"
android:text="-"

android:textSize="30sp"
android:textStyle="bold"
/>
</LinearLayout>

和代码 fragment

    int c = count; 
ind = (count);
j=0;
TextView ct = (TextView)findViewById(R.id.pm);
funkAdapter = (new ArrayAdapter<String>(this, R.layout.rowneg, R.id.pm));
String[] tmpAry= new String[count];
for (int i = 0; i < ind; i = i+2){
tmpAry[j] = dataAryArray[i];

if (tmpAry[j].equals("-")){
funkAdapter.add(tmpAry[j]);
ct.setTextColor(Color.RED);
}else{
funkAdapter.add(tmpAry[j]);
ct.setTextColor(Color.GREEN);

}
j++;
}
setListAdapter(funkAdapter);

最佳答案

如果上面的代码 fragment 是您从 onCreate() 方法中复制并粘贴的内容,那么我认为它给您带来空指针错误的主要问题是因为您尚未将当前 Activity 的 View 设置为包含所有内容的 XML 布局。换句话说,findViewById() 不知道您在哪里可以找到您所引用的那些 ID。尝试将其添加到 onCreate() 的第一行,或调用 findViewById() 之前的任何位置:

setContentView(R.id.yourLinearLayout);

关于java - 帮我动态更改 TextView 颜色吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6537927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com