Java 如果还有别的,你可以试着抓住吗?

Java 如果还有别的,你可以试着抓住吗?,java,android,xml,Java,Android,Xml,我有这个密码 root = new Root(); root.checkRootMethod2(); TextView=(TextView)view.findViewById(R.id.textView4); if(root.checkRootMethod2()) { TextView.setText(Html.fromHtml("<b>TEXT 01</b><br>")); } else { TextView.setText(Html.f

我有这个密码

root = new Root();
root.checkRootMethod2();
TextView=(TextView)view.findViewById(R.id.textView4); 

if(root.checkRootMethod2()) {
    TextView.setText(Html.fromHtml("<b>TEXT 01</b><br>"));
} else {
    TextView.setText(Html.fromHtml("<b>TEXT 02</b><br>"));
}

try {
    if (root.RootAvailibility() && (root.checkRootMethod3())) {
        try {
            Process process = Runtime.getRuntime().exec("su");
            OutputStream stdin = process.getOutputStream();
            stdin.flush();
            stdin.close();
        } catch(Exception e) {
        }
        TextView.append(Html.fromHtml(
            "<b><font color=\"green\">TEXT 03</b></font>"));
    }
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

try {
    root.busybox();
    TextView.append(Html.fromHtml(
        "<br><b><font color=\"green\">TEXT 04</b></font>"));
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch(Exception e) {
    TextView.append(Html.fromHtml(
        "<br><b><font color=\"red\">TEXT05</b></font>"));
}
root=newroot();
root.checkRootMethod2();
TextView=(TextView)view.findViewById(R.id.textView4);
if(root.checkRootMethod2()){
TextView.setText(Html.fromHtml(“TEXT 01
”)); }否则{ TextView.setText(Html.fromHtml(“TEXT 02
”)); } 试一试{ if(root.rootAvailability()&&(root.checkRootMethod3()){ 试一试{ Process Process=Runtime.getRuntime().exec(“su”); OutputStream stdin=process.getOutputStream(); stdin.flush(); stdin.close(); }捕获(例外e){ } TextView.append(Html.fromHtml( “文本03”); } }捕获(IOE异常){ //TODO自动生成的捕捉块 e、 printStackTrace(); } 试一试{ root.busybox(); TextView.append(Html.fromHtml( “
文本04”); }捕获(IOE异常){ //TODO自动生成的捕捉块 e、 printStackTrace(); }捕获(例外e){ TextView.append(Html.fromHtml( “
TEXT05”); }

我希望if
if(root.rootAvailability()&&(root.checkRootMethod3())返回true
查看说明某个内容的
TextView
。如果返回false,则另一个显示其他内容的TextView。类似于
root.checkRootMethod2()root.busybox()也是如此Text04

我不知道在这里需要多个try/catch:

try {
    if (root.RootAvailibility() && (root.checkRootMethod3()))
    {

    try
    {
您可以在上面的try/catch块中再添加一个catch(异常e),这将达到相同的目的。
其次,如果
(root.rootavailability()&&(root.checkRootMethod3())
,则没有其他部分。因此,如果它为false,程序将简单地向前移动。

您总是会看到Text04,因为没有排除它的条件。它所在的try-catch块处于顶层

如果您能提供一个简短的、自包含的、可编译的代码示例,这会有所帮助。显然还有其他潜在的相关代码丢失。例如,与最后一个catch块一起使用的try。此外,它还可以帮助您注释代码块的开头和结尾,这样您就可以知道if-else语句中包含的内容。

try{
try {
    if (root.RootAvailibility() && (root.checkRootMethod3()))
    {
       try
       {
        /// your code ...
        } 
        catch(Exception e){ }

     TextView.append(Html.fromHtml("<b><font color=\"green\">TEXT 03</b></font>"));
    }
  }catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
  }
// Codes here runs always regardless of if clause. 
if(root.rootAvailability()&&(root.checkRootMethod3()) { 尝试 { ///你的代码。。。 } 捕获(例外e){} TextView.append(Html.fromHtml(“TEXT 03”)); } }捕获(IOE异常){ //TODO自动生成的捕捉块 e、 printStackTrace(); } //无论if子句如何,此处的代码始终运行。
代码(
try
block,在您的情况下)运行时不考虑
if
条件,因为
try
块清除
if
块的范围。

要么将
try
完全放入
if
块中,要么用一个
try
块将这两个
if,else
语句包围起来。

checkRootMethod2的代码放入?它是布尔变量的getter吗?请使用
if()elseif()else
算法。