Java android上的应用程序崩溃
我是一名新开发人员,在设置覆盖UI的布局的可见性以在运行脚本时禁用它时遇到了一个问题 这是我的密码:Java android上的应用程序崩溃,java,android,Java,Android,我是一名新开发人员,在设置覆盖UI的布局的可见性以在运行脚本时禁用它时遇到了一个问题 这是我的密码: @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long //
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
switch (item.getItemId()) {
case R.id.action_settings:
return true;
case R.id.action_loadfile:
saveTellNamesArray();
LoadFile(txtFolder, ScriptArray);
return true;
case R.id.action_runscript:
disableLayout();
stopScript = false;
scriptThread = new Thread(new Runnable() {
@Override
public void run() {
while (!scriptThread.isInterrupted() && !stopScript) {
runScript();
}
if (stopScript)//revisar
enableLayout();
}
});
scriptThread.start();
//enableLayout();
return true;
case R.id.action_stopscript:
if (scriptThread != null) {
//scriptThread.interrupt();
stopScript = true;
}
return true;
default:
return super.onOptionsItemSelected(item);
}
}
问题是,只要我调用enableLayout()函数,应用程序就会崩溃:
public void disableLayout() {
uiBlockLayout.setVisibility(FrameLayout.VISIBLE);
uiBlockLayout.bringToFront();
}
public void enableLayout() {
uiBlockLayout.setVisibility(FrameLayout.GONE);
}
有没有关于问题可能是什么的线索
有没有关于问题可能是什么的线索
是,从非UI线程
访问UI元素时出现问题(调用启用布局
方法脚本线程
线程运行方法)
使用runOnUiThread
方法从非Ui线程访问视图:
if (stopScript){
runOnUiThread(new Runnable() {
@Override
public void run() {
enableLayout();
}
});
}
请分享日志错误。Nawako所说的,加上
uiBlockLayout
被赋值的范围。谢谢大家,@ρ∑ѕρєK给出的答案是正确的。谢谢您的时间。@Mena什么取决于API级别?runOnUiThread从API开始就存在1@Sombrero22请检查这个答案,它肯定会解决你的问题。别忘了标上正确答案!谢谢你,你的答案是正确的。没想到会有这么快的反应,这么高兴这个网站存在。继续做好工作