2017-02-13 145 views
0

我有以下代码,并且在R.id.action_settings的action_settings中有错误。这是在这里张贴的最后一个方法,所以向下滚动。我不确定这里应该发生什么。我正在尝试创建一个应用程序,该应用程序在开始时具有登录页面,可以在注册页面中创建新的用户标识,在另一个页面中拍照,并在另一个页面中查看菜单。Android R.id错误

package com.example.reynaldo.project1; 

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.Display; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.EditText; 
import android.widget.Toast; 


public class MainActivity extends AppCompatActivity { 

DatabaseHelper helper = new DatabaseHelper(this); 

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

} 

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

public void onButtonClick (View v){ 
    if (v.getId() == R.id.Blogin) { 
     EditText a = (EditText) findViewById(R.id.TFemail); 
     String str = a.getText().toString(); 
     EditText b = (EditText) findViewById(R.id.TFpassword); 
     String pass = b.getText().toString(); 

     String password = helper.searchPass(str); 

     if (pass.equals(password)) { 

      Intent i = new Intent(MainActivity.this, Display.class); 
      i.putExtra("Email", str); 
      startActivity(i); 

     } else { 
      Toast temp = Toast.makeText(MainActivity.this, "Username and password don't match", Toast.LENGTH_SHORT); 
      temp.show(); 
     } 
    } 

    if (v.getId() == R.id.Bsignup){ 
     Intent i = new Intent (MainActivity.this, SignUp.class); 
     startActivity(i); 
    } 
} 

@Override 
public boolean onOptionsItemSelected (MenuItem item){ 
    int id = item.getItemId(); 
    if (id == R.id.action_settings){ 
     return true; 
    } 
    return onOptionsItemSelected(item); 
} 

}

+0

你得到了什么错误? – HaydenKai

+0

你得到的错误是什么? – Thomas

+1

你可以分享你的logcat吗? – Rachit

回答

2

你已经错过了进口R.

import youPackage.R; 

这样你可以手动导入R.

请申请你的包名称替换yourPackage。你可以在你的Manifest.xml文件或build.gradle文件中找到它。

+0

现在它给我一个错误在你的包? – Geek96

+0

@ Geek96请检查我编辑的文章 –

0

很可能您的R.menu.main xml文件不包含具有@+id/action_settings作为其ID的项目。检查R.menu.main XML文件,并确保action_settings ID设置

1
import com.example.reynaldo.project1.R 

在你的文件,并检查你有ID action_settings菜单项和重建项目。

0

import yourpackagename.R;

对于防爆:

import com.example.reynaldo.project1.R; 
0

检查你的菜单文件,并确保你已经创建项目与 ID = action_settings