2016-01-13 80 views
-1

我的代碼有兩個對話框片段,我試圖從另一個onDialogPositiveClick調用一個。我無法弄清楚如何做到這一點?我移動了我的getSupportFragmentManager,但沒有任何效果。從OnPositiveClickListener顯示DialogFragment

public void onDialogPositiveClick(DialogFragment dialog) throws IOException {  
switch (dialog.getTag()) { 

"case1":{ 

     fm = getSupportFragmentManager(); 
    DialogFragment dialog = new AddItemFragment(); 
    dialog.show(fm, "dialog");} 

break; 

"case2":{ 
} 
} 

編輯:我拼寫我的例子。

+1

這不完全是一個怎麼樣'之開關語句的工作。 switch(dialog.getTag()。toString(){\ n case「case1」:\ n //您的代碼\ n中斷; \ n case「case2」:\ n //您的代碼\ n中斷; \ n'等於換行符。另外,由於您想比較'Strings',我推薦使用'if(dialog.getTag()。toString()。equals(「case1」){...};' – yennsarah

回答

1

萬一它只能是整數值。因此,使用int id_tag = (Integer) v.getTag();

,並把唯一的詮釋值:v.setTag(<myintval>);

0

嘗試在UiThread運行它:

runOnUiThread(new Runnable() { 
    @Override 
    public void run() { 
     DialogFragment dialog = new AddItemFragment(); 
     dialog.show(fm, "dialog");} 
    } 
});