android怎么在外部类中操作button的方法 (Button)ButtonListener1.this.findViewById(R.id.mButton); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这里我注意到了,但是我的问题是我的progressbar找到了控件,下面的setVisibility()报空指针!我是在自己的util工具类中操作Activity的handler来改变ui。 (Button)getCurrentActivity().findViewById(R.id.mButton);这样写是对的。但是我是在util中操作handler来实现activity界面更新。我贴代码吧: public ProgressBar[] pro = new ProgressBar[5]; public ProgressBar progressbar; public int[] progress = { R.id.mapp_app189_progressBar, R.id.mapp_appWifi_progressBar, R.id.mapp_hbzs_progressBar, R.id.mapp_tycloud_progressBar, R.id.mapp_ysync_progressBar }; public DownloadFile(Context context, Activity activity) { this.context = context; this.activity = activity; } public Handler handler = new Handler() { @Override public void handleMessage(Message msg) { int i = (Integer) msg.obj; Log.d("msg", "msg:" + i); switch (msg.what) { case 0: pro[i] = (ProgressBar) activity.findViewById(progress[i]); pro[i].setVisibility(View.VISIBLE); pro[i].setProgress(0); pro[i].invalidate(); break; case 2: pro[i].invalidate(); Toast.makeText(context, "网络连接失败,请检查您的网络设置", Toast.LENGTH_SHORT) .show(); break; case 3: pro[i].invalidate(); Toast.makeText(context, "sd卡未找到,请检查您的sd卡是否插入", Toast.LENGTH_SHORT).show(); break; case 4: pro[i].setVisibility(View.GONE); break; default: break; } super.handleMessage(msg); } }; activity界面更新,这些都是在主线程里才能操作的 findViewById()这个方法完整的写法 是: activity.this.finfviewByid(); public class ButtonListener1 implements OnClickListener { @Override public void onClick(View v) { v.setBackgroundResource(R.drawable.green); } } 求高手解答android 图片下载问题 android网络错误 camera不预览但又能获得每一帧数据 android怎样估算电池电量可用时间 问题补充(参与酌情给分) android textview如何分页显示 setEnableExtraScroller(false); 为什么出现这种错误呢? 拍照裁剪图片后如何适配ImageView? intent.putExtra参数问题 关于安卓平板中打开APP后屏蔽HOME键,不让回桌面 android 不能调用cxf服务 关闭android中其他应用程序的service
这样写是对的。但是我是在util中操作handler来实现activity界面更新。我贴代码吧:
public ProgressBar[] pro = new ProgressBar[5];
public ProgressBar progressbar;
public int[] progress = { R.id.mapp_app189_progressBar,
R.id.mapp_appWifi_progressBar, R.id.mapp_hbzs_progressBar,
R.id.mapp_tycloud_progressBar, R.id.mapp_ysync_progressBar }; public DownloadFile(Context context, Activity activity) {
this.context = context;
this.activity = activity;
} public Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) { int i = (Integer) msg.obj;
Log.d("msg", "msg:" + i);
switch (msg.what) {
case 0:
pro[i] = (ProgressBar) activity.findViewById(progress[i]);
pro[i].setVisibility(View.VISIBLE);
pro[i].setProgress(0);
pro[i].invalidate();
break;
case 2:
pro[i].invalidate();
Toast.makeText(context, "网络连接失败,请检查您的网络设置", Toast.LENGTH_SHORT)
.show();
break;
case 3:
pro[i].invalidate();
Toast.makeText(context, "sd卡未找到,请检查您的sd卡是否插入",
Toast.LENGTH_SHORT).show();
break;
case 4:
pro[i].setVisibility(View.GONE);
break;
default:
break;
}
super.handleMessage(msg);
} };
@Override
public void onClick(View v) {
v.setBackgroundResource(R.drawable.green);
}
}