2016-01-13 104 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");} 
    } 
});