我有3个用于标签的ImageButtons,当他们点击它们时会加载一个新的活动,但我遇到的问题是他们觉得“滞后”,如果你多次点击它们,屏幕开始闪烁,最终应用崩溃,有没有办法摆脱闪烁的屏幕或我应该使用另一种方法的标签?
以下是我使用的代码:
import android.app.Activity;
public class ContactsActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.contacts_tab);
final ImageButton b = (ImageButton) findViewById(R.id.imageButtonCall);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(ContactsActivity.this,CallActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.slide_no_move, R.anim.fade);
finish();
}
});
final ImageButton c = (ImageButton) findViewById(R.id.imageButtonSettings);
c.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(ContactsActivity.this,SettingsActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.slide_no_move, R.anim.fade);
finish();
}
});
答案 0 :(得分:1)
尝试让按钮无法同时点击多次?
将此作为全局变量放在类中:
boolean isBclicked = false;
现在重写onClickListener:
final ImageButton b = (ImageButton) findViewById(R.id.imageButtonCall);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if( !isBclicked){
isBclicked = true;
Intent intent = new Intent(ContactsActivity.this,CallActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.slide_no_move, R.anim.fade);
finish();
}
}
});
因此基本上用户无法在按钮上多次点击,这意味着动画不会被中断,因此您的问题将得到解决。你可以用其他按钮做同样的事情,因为在开始新活动后你完成了当前的活动,没有必要设置" isBclicked"回到假。