-1

Logcat

java.lang.NullPointerException: Attempt to invoke virtual method 'void androidx.recyclerview.widget.RecyclerView.setLayoutManager(androidx.recyclerview.widget.RecyclerView$LayoutManager)' on a null object reference
        at com.ctrlsan.kedaisalaiku.Activity.MainActivity.onNavigationItemSelected(MainActivity.java:93)

MainActivity.java

public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener{

    private AppBarConfiguration mAppBarConfiguration;
    private RecyclerView rv_noMeja;
    private RecyclerView.Adapter adNoMeja;
    private RecyclerView.LayoutManager lmNoMeja;
    private List<DataModel> listDataNoMeja = new ArrayList();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        FloatingActionButton fab = findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
            }
        });
        DrawerLayout drawer = findViewById(R.id.drawer_layout);
        NavigationView navigationView = findViewById(R.id.nav_view);
        mAppBarConfiguration = new AppBarConfiguration.Builder(
                R.id.nav_addOrder, R.id.nav_listOrder, R.id.nav_slideshow)
                .setDrawerLayout(drawer)
                .build();
        NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
        NavigationUI.setupActionBarWithNavController(this, navController, mAppBarConfiguration);
        NavigationUI.setupWithNavController(navigationView, navController);

         navigationView.setNavigationItemSelectedListener(this);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onSupportNavigateUp() {
        NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
        return NavigationUI.navigateUp(navController, mAppBarConfiguration)
                || super.onSupportNavigateUp();
    }

    @Override
    public boolean onNavigationItemSelected(@NonNull MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.nav_addOrder) {
                rv_noMeja = findViewById(R.id.rv_dataNoMeja);
                lmNoMeja = new LinearLayoutManager(MainActivity.this, LinearLayoutManager.VERTICAL, false);
                rv_noMeja.setLayoutManager(lmNoMeja); //This is line 93 which is the error
                viewMeja();
            }
        if (id == R.id.nav_listOrder) {
            Toast.makeText(getApplicationContext(),"SILAHKAN ORDER", Toast.LENGTH_LONG).show();
        }
            DrawerLayout drawer = findViewById(R.id.drawer_layout);
            drawer.closeDrawer(GravityCompat.START);

        return true;

    }
    private void viewMeja(){
        APIRequestData ardData = RetroServer.requestClien().create(APIRequestData.class);
        Call<ResponModel> viewMeja = ardData.konfigShow();

        viewMeja.enqueue(new Callback<ResponModel>() {
            @Override
            public void onResponse(Call<ResponModel> call, Response<ResponModel> response) {
                listDataNoMeja = response.body().getData();
                adNoMeja = new AdapterNoMeja(getApplicationContext(), listDataNoMeja);
                rv_noMeja.setAdapter(adNoMeja);
                adNoMeja.notifyDataSetChanged();
            }

            @Override
            public void onFailure(Call<ResponModel> call, Throwable t) {
                Toast.makeText(MainActivity.this, "Failed to connect server : "+t.getMessage(), Toast.LENGTH_SHORT).show();
            }
        });
    }
}
Martin Brisiak
  • 2,957
  • 12
  • 32
  • 48

1 Answers1

1

You have to find your recyclerview in onCreate

rv_noMeja = findViewById(R.id.);
Uuu Uuu
  • 1,200
  • 2
  • 8
  • 17