我已经编写了一个函数来创建一个启动画面,我的应用程序超时5秒.
代码工作正常,但是当超时达到零并且我想重定向到我的主要活动时,应用程序崩溃并出现以下错误:
Only the original thread that created a view hierarchy can touch its views.
Run Code Online (Sandbox Code Playgroud)
所以我环顾了一下,有人建议在我的功能中嵌套这个.这似乎是一个好主意,但现在像睡眠/停止的方法将无法正常工作.
我的代码在下面,我可以提供更多/详细解释,如果不够清楚,请告诉我.谢谢您的帮助.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
showSplashScreen();
}
protected boolean _active = true;
protected int _splashTime = 5000; // Splash screen is 5 seconds
public void showSplashScreen() {
setContentView(R.layout.splash_layout);
// Thread splashThread = new Thread() {
runOnUiThread(new Runnable() {
@Override
public void run() {
try {
int waited = 0;
while (_active && (waited < _splashTime)) {
Thread.sleep(100);
if (_active) {
waited …Run Code Online (Sandbox Code Playgroud) 有没有办法将Android自定义对话框中的标题包装到多行?无需制作AlertDialog?
dialog.setContentView(R.layout.custom_dialog);
dialog.setTitle(itemTitle);
Run Code Online (Sandbox Code Playgroud)
"itemTitle"有时太长,只显示一半的文本.
我有一个进度对话框,我试图在用户点击按钮启动新活动时显示.微调器应显示在当前页面上,直到出现其他活动.(活动有时需要4-5秒才能启动,没有微调器,它只显示一个看起来已冻结的按下按钮)
这就是我所拥有的,它只有在我移除时才有效hideProgressDialog();,但是当我回到之前的活动时,旋转器仍然会在那里.
我究竟做错了什么 ?
进度对话框:
public void showProgressDialog(Context context) {
if(this.progressDialog != null) {
this.progressDialog.dismiss();
this.progressDialog = null;
}
this.progressDialog = ProgressDialog.show(context, "", "Chargement en cours, veuillez patienter");
}
public void hideProgressDialog() {
if(this.progressDialog != null) {
this.progressDialog.dismiss();
this.progressDialog = null;
}
}
Run Code Online (Sandbox Code Playgroud)
功能:
public void startActivity(Context context, Class<? extends Activity> activityClass) {
try {
showProgressDialog(context);
Intent intent = new Intent(this, activityClass);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
hideProgressDialog();
}
catch(Throwable e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
单击按钮的示例,此处调用函数以显示微调器:
@Override
public void onClick(View …Run Code Online (Sandbox Code Playgroud) 这是我试过的...如果我只检查输入的值是否小于8,它是否有效,但不能检查它是否包含至少1个字母和1个数字.我究竟做错了什么 ?= /
$(document).ready(function() {
var jVal = {
'passWord' : function() {
$('body').append('<div id="nameInfo" class="info"></div>');
var nameInfo = $('#nameInfo');
var ele = $('#password');
var pos = ele.offset();
ra = /^[A-Za-z]+$/;
re = /^[0-9]+$/;
nameInfo.css({
top: pos.top - 3,
left: pos.left + ele.width() + 15
});
if (ele.val().length < 8 & re.test(ele.value) & ra.test(ele.value)) {
jVal.errors = true;
nameInfo.removeClass('correct').addClass('error').html('← too short').show();
ele.removeClass('normal').addClass('wrong');
}
else {
nameInfo.removeClass('error').addClass('correct').html('√').show();
ele.removeClass('wrong').addClass('normal');
}
}
}
$('#password').change(jVal.passWord);
});
Run Code Online (Sandbox Code Playgroud)