重新加载活动时出现闪烁
问题描述:
我正尝试从适配器重新加载MainActivity。请看以下代码:重新加载活动时出现闪烁
activity = (Activity) context;
activity.finish();
activity.overridePendingTransition(0, 0);
Intent intent =((Activity) context).getIntent();
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
context.startActivity(intent);
activity.overridePendingTransition(0, 0);
的问题是,即使是添加此代码块后,闪烁的动画仍是活动的重装过程中出现的。
在适配器内部,我显示了一个对话框。按下按钮后,对话框将导致重新加载活动。
内onBindViewHolder():
viewHolder.txtv_name.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v)
{
int_timer = 0;
tickValue = true;
timerGroupChatHistory.start();
getChatHistory(alst_Dealitem.get(i));
}
});
里面的聊天记录,我打电话ShowChatDialog():
public void show_chatDialog(final ArrayList<chatObject> alst_chatHistoryList, final String refNumber)
{
final Dialog dlg_dialog = new Dialog(context, R.style.Theme_Dialog);
// dialog.setCancelable(false);
dlg_dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
Window window = dlg_dialog.getWindow();
if (window == null) return;
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(dlg_dialog.getWindow().getAttributes());
lp.width = WindowManager.LayoutParams.FILL_PARENT;
lp.height = WindowManager.LayoutParams.MATCH_PARENT;
lp.gravity = Gravity.CENTER;
dlg_dialog.getWindow().setAttributes(lp);
//dialog.setContentView(R.layout.new_field_quote_entry_dialog);
dlg_dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
dlg_dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
//dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
dlg_dialog.setContentView(R.layout.chat_history_dialog);
final RecyclerView rvw_chatHistoryList = (RecyclerView)dlg_dialog.findViewById(R.id.chatHistoryList);
final EditText etxt_chatText = (EditText)dlg_dialog.findViewById(R.id.chat_type);
final LinearLayout lnrl_mainLayout = (LinearLayout)dlg_dialog.findViewById(R.id.dialog_main_layout);
TextView txtv_send = (TextView) dlg_dialog.findViewById(R.id.chat_send);
TextView txtv_title = (TextView)dlg_dialog.findViewById(R.id.chat_text) ;
LinearLayout lnrl_back = (LinearLayout) dlg_dialog.findViewById(R.id.chat_backbutton) ;
txtv_title.setText(refNumber);
lnrl_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
activity.finish();
activity.overridePendingTransition(0, 0);
Intent intent =((Activity) context).getIntent();
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
context.startActivity(intent);
activity.overridePendingTransition(0, 0);
}
});
有什么我失踪?请帮忙。提前致谢。
答
if (Build.VERSION.SDK_INT >= 11) {
recreate();
} else {
Intent intent = getIntent();
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
overridePendingTransition(0, 0);
startActivity(intent);
overridePendingTransition(0, 0);
}
希望这会帮助你。
+0
哇,谢谢你工作 –
发布更多代码。 – Anonymous
@匿名:请检查更新的代码。 –