TextView.setText失效

本文介绍了在多线程环境下解决UI更新问题的方法,包括检查当前线程是否为主线程、验证传入字符串的正确性以及确认预览布局的准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.检查该操作是否在主线程操作的,子线程无法更新UI
检查线程信息:Thread.currentThread().getName()
2.检查传入的字符串是否正确
3.查看一下预览布局是否正确,可能使用父控件错误,默认子控件不能超出父控件区域,导致子控件无法显示

代码如下:package com.example.myapplication; import android.annotation.SuppressLint; import android.app.AlertDialog; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import java.util.Date; import java.util.List; public class MyBaseAdapter extends BaseAdapter { private String[] data;//需要好几个东西,比如图像,标题之类话用自定义类型List<Animal> private Context mContext; public MyBaseAdapter(Context mContext, String[] data) { super(); this.mContext = mContext; this.data = data; } @Override public int getCount() {//格子数量 return data.length; } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = LayoutInflater.from(mContext); View view = inflater.inflate(R.layout.itemlist,null); TextView textView = (TextView) view.findViewById(R.id.textView1); Button button = (Button) view.findViewById(R.id.button1); button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AlertDialog.Builder builder = new AlertDialog.Builder(mContext); builder.setTitle("详情"); builder.setMessage("你点击了: " + data[position]); builder.setPositiveButton("确定", null); builder.show(); } }); textView.setText(data[position]); return view; } }
最新发布
07-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值