2017-10-17 2 views
0

Ich versuche, meine MainActivity von dem Adapter neu zu laden. Bitte finden Sie den Code unten:Flashing wird beim Neuladen der Aktivität angezeigt

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); 

Das Problem ist, auch diesen Code-Block nach dem Hinzufügen, die blinkende Animation noch während der Neuladen der Aktivität erscheinen.

Im Adapter zeige ich einen Dialog. Auf Knopfdruck führt der Dialog zum Nachladen der Aktivität.

Innen 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)); 

     } 
    }); 

Innerhalb Chat Geschichte, ich rufe 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); 




     } 
    }); 

Gibt es etwas, ich bin fehlt? bitte hilfe. Danke im Voraus.

+1

Post mehr Code. – Anonymous

+0

@Anonymous: Bitte überprüfen Sie den aktualisierten Code. –

Antwort

2
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); 
} 

hoffe das wird dir helfen.

+0

wow, danke..es hat funktioniert –

Verwandte Themen