Android中如何在Adapter的内部类中修改textView的值,如下面的代码。
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){if(convertView==null){...
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null){
convertView = View.inflate(context, resource, null);
}
ImageView image = (ImageView) convertView.findViewById(R.id.iv_image);
CustomDigitalClock remaintime = (CustomDigitalClock) convertView.findViewById(R.id.remainTime);
try {
bis = new BufferedInputStream(assetManager.open(data.get(position).imageUrl));
image.setImageBitmap(BitmapFactory.decodeStream(bis));
} catch (IOException e) {
e.printStackTrace();
}
remaintime.setEndTime(data.get(position).mTime);
remaintime.setText("222");
remaintime.setClockListener(new CustomDigitalClock.ClockListener() { // register the clock's listener
@Override
public void timeEnd() {
// The clock time is ended.
Toast.makeText(context, "时间已经结束了", Toast.LENGTH_SHORT).show();
//如何在这里修改remaintime的值或者设置Activity中的listView的属性??
}
@Override
public void remainFiveMinutes() {
// The clock time is remain five minutes.
}
});
return convertView;
} 展开
if(convertView == null){
convertView = View.inflate(context, resource, null);
}
ImageView image = (ImageView) convertView.findViewById(R.id.iv_image);
CustomDigitalClock remaintime = (CustomDigitalClock) convertView.findViewById(R.id.remainTime);
try {
bis = new BufferedInputStream(assetManager.open(data.get(position).imageUrl));
image.setImageBitmap(BitmapFactory.decodeStream(bis));
} catch (IOException e) {
e.printStackTrace();
}
remaintime.setEndTime(data.get(position).mTime);
remaintime.setText("222");
remaintime.setClockListener(new CustomDigitalClock.ClockListener() { // register the clock's listener
@Override
public void timeEnd() {
// The clock time is ended.
Toast.makeText(context, "时间已经结束了", Toast.LENGTH_SHORT).show();
//如何在这里修改remaintime的值或者设置Activity中的listView的属性??
}
@Override
public void remainFiveMinutes() {
// The clock time is remain five minutes.
}
});
return convertView;
} 展开
3个回答
展开全部
setClockListener(remaintime,position);
private void setClockListener(final CustomDigitalClock remaintime,final int position) {
remaintime.setClockListener(new CustomDigitalClock.ClockListener() { // register the clock's listener
@Override
public void timeEnd() {
// The clock time is ended.
Toast.makeText(context, "时间已经结束了", Toast.LENGTH_SHORT).show();
//如何在这里修改remaintime的值或者设置Activity中的listView的属性??
}
@Override
public void remainFiveMinutes() {
// The clock time is remain five minutes.
}
});
}
//由于方法参数是final , 内部类里想怎么用怎么用
朋友 , 别人回答你的问题时, 不管能不能解决你的问题, 请心存感恩。注意自己表达语言的方式!
追问
大哥。您觉得我表达语言方式不妥是因为我用了“我擦”这个词吗?用这个词并不能说明我没有心存感恩。
展开全部
通过handler去修改textview的值
方法2 把 textview 当做参数传进去啊 直接操作
更多追问追答
追问
问题是我的Adapter类是独立的,并不在Activity类的内部。
追答
new CustomDigitalClock.ClockListener() { // register the clock's listener
@Override
public void timeEnd() {
// The clock time is ended.
Toast.makeText(context, "时间已经结束了", Toast.LENGTH_SHORT).show();
//如何在这里修改remaintime的值或者设置Activity中的listView的属性??
}
@Override
public void remainFiveMinutes() {
// The clock time is remain five minutes.
}
}
你这个可以写一个 单独的类啊 构造方法中直接传一个 textview不就结了啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-06-03
展开全部
给remaintime加上final修饰就可以了
更多追问追答
追问
我擦,大哥,加final肯定不行啊 ,进入Activity的时候就给remaintime赋值了。
追答
final只是说这个对象的地址不能改变,没说这个对象的属性不能改变。你试试就知道了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询