2014-04-08 89 views
0

我按照 http://developer.android.com/training/basics/actionbar/adding-buttons.html#Respond中的說明操作,但是我收到一個錯誤,指出R無法解析爲變量。我嘗試使用import android.R導入R;但似乎有一次我做了activity_main,main,action_search和action_setting變成了「無法解析或者不是字段」。不知道我錯了哪裏。R無法解析爲變量(android)

package com.miracle.forth; 



import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuInflater; 
import android.view.MenuItem; 

public class MainActivity extends Activity { 

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

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.main, menu); 
    return super.onCreateOptionsMenu(menu); 
} 
@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
//Handle presses on the action bar items 
switch (item.getItemId()) { 
    case R.id.action_search: 
    openSearch(); 
    return true; 
    case R.id.action_settings: 
    openSetting(); 
    return true; 
default: 
    return super .onOptionsItemSelected(item); 
} 

} 

private void openSearch() { 
    // TODO Auto-generated method stub 

} 

private void openSetting() { 
    // TODO Auto-generated method stub 

} 

}

+0

您需要導入自己的資源文件。但我猜你的res文件夾有錯誤,這就是爲什麼你的R無法解析。 –

+0

您確定資源文件名中沒有無效字符,例如數字,首都,連字符......嗎?此外,請仔細檢查所有的xml文件,查看最小的錯誤。 –

+0

謝謝你的回答,我已經解決了這個問題。 – user3423432

回答

0

檢查R.java所屬的包命名空間com.miracle.forth.However如果包名稱不相同,那麼你必須導入com.miracle.forth.R。

如果java文件和R.java屬於同一個包名稱空間,那麼清理你的項目並重新啓動eclipse。

同時檢查你的xml文件。如果你的xml文件中有任何錯誤,R.java不會生成。

+0

發現錯誤來自問題,但不知道有什麼問題res/menu/main.xml文件顯示沒有錯誤,除了顯示錯誤的控制檯:解析XML時出錯:重複屬性 – user3423432

+0

糾正我的拼寫錯誤後,我解決了這個問題。 – user3423432

+0

這很好。所以這是你的XML文件中的一些問題。 – kgandroid

0

檢查命名convation

你大寫或圖像名稱,你放Drawble-MDPI或文件夾華電國際數 使用第一後資本.xml文件

首先糾正了這個錯誤,然後新的R文件將生成並將刪除錯誤

+0

我檢查並發現我在某些.xml文件中有拼寫錯誤,但仍無法生成R文件。我相信問題是在res/menu/main.xml文件本身不包含任何錯誤,但控制檯顯示錯誤:解析XML時出錯:重複屬性 – user3423432

+0

從文件中刪除expect期望的id - res/menu/main.xml – Ashish

+0

糾正我的拼寫錯誤後,我解決了這個問題。 – user3423432