Rik*_*avi 1 java syntax android if-statement
我看到了奇怪的情况:在我的Android应用程序代码中使用类似这样的东西时我没有收到任何错误:
@Override
public void onBackPressed() {
if (getActionBar().getSelectedTab().getPosition()==1)**;**
{
if ( getFragmentManager().findFragmentByTag("Tag B") instanceof ContactsArchiveFragment)
{
final ContactsArchiveFragment fragment = (ContactsArchiveFragment) getFragmentManager().findFragmentByTag("Tag B");
if (fragment.allowBackPressed()) { // and then you define a method allowBackPressed with the logic to allow back pressed or not
Log.i("calls act back cont archive", "on back clicked");
super.onBackPressed();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我试图做这样的事情:
@Override
public void onBackPressed() {
if (getActionBar().getSelectedTab().getPosition()==1);
{
if ( getFragmentManager().findFragmentByTag("Tag B") instanceof ContactsArchiveFragment)
{
final ContactsArchiveFragment fragment = (ContactsArchiveFragment) getFragmentManager().findFragmentByTag("Tag B");
if (fragment.allowBackPressed()) { // and then you define a method allowBackPressed with the logic to allow back pressed or not
Log.i("calls act back cont archive", "on back clicked");
super.onBackPressed();
}
}
}
else
{
}
}
Run Code Online (Sandbox Code Playgroud)
我收到了Syntax error on token "else", delete this token
.当我看到半音时,我解除了问题所在.但这让我很难过,有人能解释一下它是什么吗?
但这让我很难过,有人能解释一下它是什么吗?
当然 - 这;
只是一个空洞的陈述,没有一个块也没关系if
.例如,这是有效的:
if (i == 0)
System.out.println("i was 0");
System.out.println("In top-level block");
{
System.out.println("In a block");
}
Run Code Online (Sandbox Code Playgroud)
...和之后的分号if
相当于第一个if
带有空体的语句.
我个人总是使用括号来if
表示语句(和while
语句等).一些编译器(例如Eclipse中内置的编译器)允许您在使用这样的空语句时发出警告或错误.
该else
表单无效,因为您只能将一个else
子句作为if
/ else
statement的一部分,而该if
语句已在分号结尾处"完成".
归档时间: |
|
查看次数: |
166 次 |
最近记录: |