【发布时间】: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