【问题标题】:Android Studio syntax errorsAndroid Studio 语法错误
【发布时间】:2018-06-19 16:07:26
【问题描述】:

我刚开始学习 Android 应用程序开发,现在我将创建一个简单的初学者应用程序。

我按照 YouTube 上的教程进行操作,但我不知道为什么在尝试运行我的应用程序时会出现一些错误。它说他们期待 ;, ) 等等。我试图查看我的代码,并确保每个(有)和每一行都有;

但是列表扩大了,我不知道到底出了什么问题。

package org.kosmik.infokosmik;

import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.design.widget.BottomNavigationView;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.widget.FrameLayout;

public class MainActivity extends AppCompatActivity {

private BottomNavigationView mMenuUtama;
private FrameLayout mFrameUtama;

private berandaFragment berandaFragment;
private beritaFragment beritaFragment;
private radioFragment radioFragment;
private kegiatanFragment kegiatanFragment;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mFrameUtama = (FrameLayout) findViewById(R.id.frame_utama);
    mMenuUtama = (BottomNavigationView) findViewById((R.id.menu));

    berandaFragment = new berandaFragment();
    beritaFragment = new beritaFragment();
    radioFragment = new radioFragment();
    kegiatanFragment = new kegiatanFragment();

    mMenuUtama.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                switch (item.getItemId())) {

                    case R.id.menu_beranda :
                        setFragment(berandaFragment);
                        return true;

                    case R.id.menu_berita :
                        setFragment(beritaFragment);
                        return true;

                    case R.id.menu_radio :
                        setFragment(radioFragment);
                        return true;

                    case R.id.menu_kegiatan :
                        setFragment(kegiatanFragment);
                        return true;

                    default:
                        return false;
                }
        }
    }
}

public void setFragment(Fragment fragment) {
    FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
    fragmentTransaction.replace(R.id.frame_utama, fragment);
    fragmentTransaction.commit();
};}

这是我在 MainActivity.java 上的代码。无论如何,如果你能回答并解释它,我将非常感激。

【问题讨论】:

  • 需要从switch (item.getItemId())) 中删除一个额外的右括号。你的括号应该总是匹配。
  • Android Studio 应该突出显示缺失的地方;是红色的,向下看右侧的滚动条,你会看到一个红色的指示器。
  • findViewById((R.id.menu))也只需要一组括号
  • 最后,你不需要setFragment函数末尾的;
  • 它看起来像一个右括号)需要在(new BottomNavigationView.OnNavigationItemSelectedListener()之后,在左大括号{之前添加。如果您包含收到的错误消息会有所帮助。

标签: java android android-studio game-physics cradle


【解决方案1】:

亲爱的你开始了一个名为setOnNavigationItemSelectedListener的方法括号,但从未关闭,请关闭方法括号,如下所示:

default:
       return false;
     }
   }
 });
}


public void setFragment(Fragment fragment) {
    FragmentTransaction fragmentTransaction = 
    getSupportFragmentManager().beginTransaction();
    fragmentTransaction.replace(R.id.frame_utama, fragment);
    fragmentTransaction.commit();
}

【讨论】:

  • 还需要从 switch (item.getItemId())) 中删除额外的括号...应该像 switch (item.getItemId())
  • 非常感谢您的帮助。我以为我已经检查了所有括号,看来我需要更加小心。
猜你喜欢
  • 1970-01-01
  • 2016-03-16
  • 2020-09-11
  • 2016-01-21
  • 1970-01-01
  • 1970-01-01
  • 2016-07-22
  • 2014-08-26
  • 1970-01-01
相关资源
最近更新 更多