我有一個導航抽屜,當我點擊其中的一個物品時,它應該打開其他活動。所以我做了一個開關,並沒有得到任何錯誤。仍然當我啓動應用程序時,它不斷崩潰。需要任何幫助,我可以得到! Java是低於當點擊導航抽屜中的物品時打開其他活動
package com.gfo.enexis;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.support.annotation.IdRes;
import android.support.design.widget.NavigationView;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.KeyEvent;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import org.w3c.dom.Text;
import java.util.ArrayList;
import java.util.List;
import static android.R.attr.id;
import static android.R.attr.start;
import static android.R.id.edit;
import static android.R.id.list;
import static com.gfo.enexis.R.id.button;
import static com.gfo.enexis.R.id.lv1;
import static com.gfo.enexis.R.id.nav_acount;
public class MainActivity extends AppCompatActivity {
private DrawerLayout mDrawerLayout;
private ActionBarDrawerToggle mToggle;
private Toolbar mToolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mToolbar = (Toolbar) findViewById(R.id.nav_action);
setSupportActionBar(mToolbar);
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawerLayout);
mToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.open, R.string.close);
mDrawerLayout.addDrawerListener(mToggle);
mToggle.syncState();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
registerClickCallBack();
OnNavigationItemSelected();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (mToggle.onOptionsItemSelected(item)) {
return true;
}
return super.onOptionsItemSelected(item);
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
exitByBackKey();
return true;
}
return super.onKeyDown(keyCode, event);
}
protected void exitByBackKey() {
AlertDialog alertbox = new AlertDialog.Builder(this)
.setMessage("Weet u zeker dat u wilt uitloggen?")
.setPositiveButton("Log uit", new DialogInterface.OnClickListener() {
// do something when the button is clicked
public void onClick(DialogInterface arg0, int arg1) {
finish();
//close();
}
})
.setNegativeButton("Nee", new DialogInterface.OnClickListener() {
// do something when the button is clicked
public void onClick(DialogInterface arg0, int arg1) {
}
})
.show();
}
EditText NotitieEt;
ListView ListNote;
ArrayList<String> lv = new ArrayList<>();
public void NoteAdd(View view) {
ListNote = (ListView) findViewById(lv1);
NotitieEt = (EditText) findViewById(R.id.notitie);
String note1 = NotitieEt.getText().toString();
if (lv.contains(note1)) {
Toast.makeText(this, "Notitie bestaat al", Toast.LENGTH_LONG).show();
} else if (note1 == null || note1.trim().equals("")) {
Toast.makeText(this, "Imput can't be empty", Toast.LENGTH_LONG).show();
} else {
lv.add(note1);
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, lv);
ListNote.setAdapter(adapter);
((EditText) findViewById(R.id.notitie)).setText("");
}
}
private void registerClickCallBack() {
ListNote = (ListView) findViewById(lv1);
ListNote.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> paret, View viewClicked, int position, long id) {
lv.remove(position);
ArrayAdapter<String> adapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, lv);
ListNote.setAdapter(adapter);
}
});
}
MenuItem item;
public boolean OnNavigationItemSelected() {
int id = item.getItemId();
switch (id) {
case R.id.nav_acount:
Intent i = new Intent(MainActivity.this, DashBoard1.class);
startActivity(i);
break;
case R.id.nav_dashboard:
Intent o = new Intent(MainActivity.this, Dashboard2.class);
startActivity(o);
}
return true;
}
}
這些都是錯誤的我越來越:
了java.lang.RuntimeException:無法啓動活動ComponentInfo {com.gfo.enexis/com.gfo .enexis.MainActivity}:顯示java.lang.NullPointerException:嘗試調用接口方法 '詮釋android.view.MenuItem.getItemId()' 上的空對象引用
和
引起:java.lang.NullPointerException:試圖調用空對象的接口方法'int android.view.MenuItem.getItemId()'參考
請粘貼記錄的錯誤 – fn5341
貼在這裏,我加入他們後 – Meikiem
錯誤我不明白爲什麼您直接從R.java導入。 您可以使用findViewById查看視圖,並將它們轉換爲它們自己的組件類型。 –