android中如何将Button上面的Text改成别的,然后再改回去?
例如:有个Button上面是"搜索",点击的时候将其改为"搜索中.......",搜索事件完成以后再次改为"搜索".有人说可以用Handler来实现,但我不知道具体怎么做...
例如:有个Button上面是"搜索", 点击的时候将其改为"搜索中.......",
搜索事件完成以后再次改为"搜索". 有人说可以用Handler来实现,但我不知道具体怎么做.求大神 展开
搜索事件完成以后再次改为"搜索". 有人说可以用Handler来实现,但我不知道具体怎么做.求大神 展开
4个回答
展开全部
android 中的Button按钮可以通过先找到按钮id,代码对text内容进行修改,示例如下:
Button a=new Button(this);//声明一个Button类
a.setOnClickListener(new OnClickListener(){//相应点击事件,修改内容
@Override
public void OnClick(){
edittext.setText="1"
}
});
展开全部
的确可以用Handler
在onCreate(Bundle b){
.....
......
Button.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
new Thread(new Runnable(){
int count = 0;
@Override
public void run() {
while(true){
Message msg = handler.obtainMessage(count);
handler.sendMessage(msg);
count++;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}});
}
});
}
下面是handler
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg){
switch(msg.what%3){
case 0:String text = "搜索中.";
break;
case 1:text = "搜索中..";
break;
case 2:text = "搜索中...";
break;
}
Button.setText(text);
}
};
在onCreate(Bundle b){
.....
......
Button.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
new Thread(new Runnable(){
int count = 0;
@Override
public void run() {
while(true){
Message msg = handler.obtainMessage(count);
handler.sendMessage(msg);
count++;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}});
}
});
}
下面是handler
Handler handler = new Handler(){
@Override
public void handleMessage(Message msg){
switch(msg.what%3){
case 0:String text = "搜索中.";
break;
case 1:text = "搜索中..";
break;
case 2:text = "搜索中...";
break;
}
Button.setText(text);
}
};
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
开始写setText("搜索"):,设置onlick事件响应,在监听函数中写setText("搜索中...")
搜索事件建议放入一个单独的线程中,得到搜索结果的时候再用handler发一个消息,主线程得到这个消息后再把Button上的字改为"搜索",
搜索事件建议放入一个单独的线程中,得到搜索结果的时候再用handler发一个消息,主线程得到这个消息后再把Button上的字改为"搜索",
追问
因为有一个耗时操作,点进去直到搜索完毕以后才会改成"搜索中",你说的方法我试过了,不行。呵呵,,,但是还是很感谢你哦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
开始写setText("搜索"):,设置onlick事件响应,在监听函数中写setText("搜索中...")就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |