首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >声明textView在textView上给出了NullPointerException

声明textView在textView上给出了NullPointerException
EN

Stack Overflow用户
提问于 2015-11-29 11:03:17
回答 1查看 49关注 0票数 0

当来自“附近地点api”的评级小于或等于3为红色,大于3为绿色时,我尝试更改textView颜色,但我得到的NullPointerException如下所示:

代码语言:javascript
运行
AI代码解释
复制
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setTextColor(int)' on a null object reference

下面是我的代码的一部分,我知道声明textView不在正确的位置。但是,我试图在onCreate中声明它,但是我得到了相同的错误。

活动的一部分:

代码语言:javascript
运行
AI代码解释
复制
@Override public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.list_view_activity);
    myList = (ListView) findViewById(R.id.placesList);
}

public class readFromGooglePlaceAPI extends AsyncTask<String, Void, String> {

  @Override protected String doInBackground(String... param) {
    return readJSON(param[0]);
}

protected void onPostExecute(String str) {
    myArrayList = new ArrayList<GetterSetter>();

    String rating=" -NA-";
    try {

        JSONObject root = new JSONObject(str);
        JSONArray results = root.getJSONArray("results");

        for (int i = 0; i < results.length(); i++) {

            addValues = new GetterSetter();
            TextView rate = (TextView) findViewById(R.id.rating);

            JSONObject arrayItems = results.getJSONObject(i);
            if(!arrayItems.isNull("rating")){
                rating = arrayItems.getString("rating");

                if(Float.parseFloat(rating) <= 3){
                    rate.setTextColor(Color.RED);
                }
                else if(Float.parseFloat(rating) > 3){
                    rate.setTextColor(Color.GREEN);
                }
            }

            addValues.setRating(rating);
            myArrayList.add(addValues);
        }
    } catch (Exception e) {
        Log.e("Error", "Exception ..." , e);
    }
    adapter = new CustomAdapter(ListActivity.this, R.layout.list_row, myArrayList);
    myList.setAdapter(adapter);

}

}

list_view_activity.xml

代码语言:javascript
运行
AI代码解释
复制
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity" >
<ListView
    android:id="@+id/placesList"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1.0"
    android:paddingTop="70dp"
    android:divider="@drawable/divider"
    android:dividerHeight="1px"
    android:cacheColorHint="#00000000"
    android:listSelector="@drawable/listview_selector">
</ListView>
</LinearLayout>

list_row.xml

代码语言:javascript
运行
AI代码解释
复制
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="20dp"
android:paddingRight="20dp" >
<TextView
    android:id="@+id/ratingRext"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_alignParentRight="true"
    android:layout_alignRight="@id/name"
    android:gravity="center_vertical"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:paddingRight="20dp"
    android:text="Rating :"
    android:textSize="14sp"
    android:textColor="#282f8d" />

<TextView
    android:id="@+id/rating"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_alignParentRight="true"
    android:layout_alignRight="@id/ratingRext"
    android:gravity="center_vertical"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:textSize="12sp" />
 </RelativeLayout>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-29 11:10:56

根据您的代码发布,您将从活动中获取TextView句柄。但是您的活动文件中没有TextView。它在用于自定义适配器的布局中。因此,您需要处理适配器类中的内容。

在基于模型列表值的适配器的getView()方法中,在您的示例中,它是myArrayList。在这个pojo类中维护一个有关评级的属性,在getview中,您将拥有测试视图的句柄以及这个模型类,您可以在那里执行任务。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33986762

复制
相关文章
TextView
在TextView中预定义了一些类似HTML标签(不区分大小写),通过这些标签,我们可以使TextView控件显示不同的颜色、大小、字体的文字。 常见的标签如下:
小小工匠
2021/08/16
1.6K0
TextView相关
To add the ReadMoreTextView library to your Android Studio project, simply add the following gradle dependency:
用户3004328
2018/09/06
5630
TextView相关
SpannableString 给TextView添加不同的显示样式
TextView是用来显示文本的,有时需要给TextView中的个别字设置为超链接,或者设置个别字的颜色、字体等,那就需要用到Spannable对象,可以借助Spannable对象实现以上设置 myTextView = (TextView) this.findViewById(R.id.myTextView);   //创建一个 SpannableString对象      SpannableString sp = new SpannableString("这句话中有百度超链接,有高亮显示,这样,或者这样,
xiangzhihong
2018/02/01
1.5K0
Android TextView详解
dp(dip): device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。 px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。 pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;* sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。
奶油话梅糖
2021/03/19
1.4K0
Android中TextView
TextView:展示文本内容控件 要点: 1.android:textSize="20sp",设置字体的大小使用sp作单位 2.设置宽度高度等属性使用dp(dip)作为单位 3.设置文本颜色,   1)xml中android:textColor="#ccc" ;   2)动态生成时,textView.setText(Html.fromHtml("您好,我是<font color=red>kdmy</font>")); 4.设置超链,android:autoLink="none"(/web/email/ph
欢醉
2018/01/22
8870
textview长按复制_android-TextView的长按复制[通俗易懂]
android:text=”长按自由复制”android:textColorHighlight=”#CCCCCC”android:textIsSelectable=”true” />
全栈程序员站长
2022/11/11
1.8K0
textview设置字体大小-设置textview字体样式
  一些字体基础的设置,都可以的textview设置字体大小,但是我们能满足吗?不能,所以继续
宜轩
2022/12/26
3.1K0
获取textview行数
如果我们想获取TextView内容的行数,TextView没有提供现成的api供我们使用,需要我们自己获取。
全栈程序员站长
2022/11/17
1.6K0
oc textview垂直居中
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
conanma
2021/05/11
8520
会变色的TextView
近几年来,网络直播可以说是非常火热。网红也是遍地花开,其中不少主播在 PC 端做直播,也有很多主播用手机来直播。主播和观众经常需要互动交流,所以文字交流必不可少。在公司的 APP 中有类似如下图的聊天文字效果。一条聊天信息中,发送者名字的颜色是会随机改变,而内容信息是固定一个颜色。
猴哥yuri
2018/08/16
7660
Android TextView 属性大全
Android 中我们知道有一个使用频率非常高的控件,它就是 TextView,但是它的属性特别多,今天我们就来探究下,它都有哪些属性。
程序员飞飞
2020/05/11
2.7K0
Swift TextView Placeholder封装
github地址:https://github.com/RainManGO/PlaceholderTextView
星宇大前端
2019/01/15
1.4K0
android TextView描边
上一篇已经讲了如何实现textView中粗字体效果,里面主要重写了onDraw方法。
用户3030674
2019/04/18
3.3K0
android TextView描边
textview实现placeholder效果
两个textView上下重叠,下面的textView(backgroundText)的文字设置为placeholder的文字,上面的textView(inputText)的背景设置为透明,设置上面的textView的代理,输入内容时隐藏下面textView
码客说
2019/10/22
8020
Android上的自定义字体 - 扩展TextView
1、将自定义字体应用于所有TextView 应用中我们会经常用到自定义字体的TextView。我们需要每次都去设置TextView的字体。但是,如果您在整个应用程序中多次使用它,那么效率低下(多次分配fontface)和代码(重复相同的代码)是无效的。 2、提供字体内存高效 Android手机内存低的时候已经结束了,但是我们还是应该优化效率。因此,我们应该缓存我们的自定义字体。来自britzl的stackoverflow( britzl on stackoverflow )的解决方案,并调整了一点写法: p
code_horse
2018/07/02
1.1K0
android 动态修改textview背景
android:focusableInTouchMode="true" // 设置是否在触摸模式下获得焦点
yuanyuan
2019/09/11
1.8K0
android 中 TextView的用法[通俗易懂]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/17
1.1K0
android 中 TextView的用法[通俗易懂]
Android控件之TextView
2.TextView在View家族的地位是:源码行数11000+,可以说是个大类
张风捷特烈
2018/09/01
1.3K0
点击加载更多

相似问题

安卓AlertDialog TextView SetText给NullPointerException

13

在TextView setText()上抛出NullPointerException

10

SetText on TextView在NullPointerException上崩溃

22

NullPointerException在TextView上的片段

10

NullPointerException在定义的TextView上

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文