gpt4 book ai didi

java - Android切换按钮点击设置textview

转载 作者:行者123 更新时间:2023-11-30 04:56:17 25 4
gpt4 key购买 nike

我是 android 开发的新手,我想在点击切换按钮时设置一个 TextView 。当单击切换按钮时,会调用长度操作方法,所以在此之前我想设置一个 TextView 说“服务正在启动”,但我注意到一旦切换按钮状态从 START 变为 STOP 以及之后,就会设置 textview方法调用完成。

你能帮我在方法调用之前显示 TextView 吗?

我已经处理了下面的代码。

@Override
protected void onResume() {
super.onResume();
Reader.getInstance(this,this);

try {
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
}


toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {

textView.setVisibility(View.VISIBLE);

Thread t = new Thread(){
public void run(){
startMyService();
}
};
t.start();

try {
t.join();
} catch (InterruptedException e) {
e.printStackTrace();
}

textView.setVisibility(View.GONE);

}
else {

Thread t = new Thread(){
public void run(){
stopMyService();
}
};
t.start();
}
}
});
}

谢谢。

我使用了下面的代码,但是点击切换按钮时没有显示任何内容。我尝试将冗长的代码放入线程中,但即使在使用 thread.join 之后该方法也没有执行。

最佳答案

试试这个:

    class startservice_AsyncTask extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
textView.setVisibility(View.VISIBLE);

}

@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
textView.setVisibility(View.GONE);
}

@Override
protected Void doInBackground(Void... params) {
startMyService();
return null;
}
}





toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {

startservice_AsyncTask startserviceTask = new startservice_AsyncTask();
startserviceTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}
else {

Thread t = new Thread(){
public void run(){
stopMyService();
}
};
t.start();
}
}
});

关于java - Android切换按钮点击设置textview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59081462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com