2014-03-13 43 views
0

嗨我是Android應用程序開發的初學者。我一直試圖在此鏈接之後開發2個spinners。 http://examples.javacodegeeks.com/android/core/ui/spinner/android-spinner-drop-down-list-example/android應用程序已停止但無錯程序

我收到錯誤R cannot be resolved to a variable。我的MainActivity.java看起來像這樣。

package com.example.androidspinnerexample; 

import java.util.ArrayList; 
import java.util.List; 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.ArrayAdapter; 
import android.widget.Button; 
import android.widget.Spinner; 
import android.widget.Toast; 

public class MainActivity extends Activity { 

private Spinner spinner1, spinner2; 
private Button button; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 

addItemsOnSpinner2(); 
addListenerOnButton(); 
addListenerOnSpinnerItemSelection(); 
} // add items into spinner dynamically 

     public void addItemsOnSpinner2() { 
     spinner2 = (Spinner) findViewById(R.id.spinner2); 
    List list = new ArrayList(); 
    list.add("Item 1"); 
    list.add("Item 2"); 
    list.add("Item 3"); 
    list.add("Item 4"); 
    ArrayAdapter dataAdapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item, list); 
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
spinner2.setAdapter(dataAdapter); 
    } 

    public void addListenerOnSpinnerItemSelection() { 
spinner1 = (Spinner) findViewById(R.id.spinner1); 
spinner1.setOnItemSelectedListener(new MyOnItemSelectedListener()); 
    } 

    public void addListenerOnButton() { 
    spinner1 = (Spinner) findViewById(R.id.spinner1); 
spinner2 = (Spinner) findViewById(R.id.spinner2); 
button = (Button) findViewById(R.id.button); 

button.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 

    Toast.makeText(MainActivity.this,"Result : " + "\nSpinner 1 : "+ String.valueOf(spinner1.getSelectedItem()) + "\nSpinner 2 : "+ String.valueOf(spinner2.getSelectedItem()),Toast.LENGTH_SHORT).show(); 
    } 

}); 
    } 
    } 

在我的控制檯中,我也看到了這個錯誤。 My Projects \ AndroidSpinnerExample \ res \ menu \ main.xml:6:error:錯誤:找不到與給定名稱匹配的資源(位於'title',值爲'@ string/action_settings')。

我main.xml中看起來像這樣

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" > 

<Spinner 
    android:id="@+id/spinner1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:entries="@array/country_array" 
    android:prompt="@string/select"/> 

<Spinner 
    android:id="@+id/spinner2" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:prompt="@string/select2" /> 

<Button 
    android:id="@+id/button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@string/button_label" /> 
</LinearLayout> 

我R.java文件也不翼而飛。 我試着用谷歌搜索到目前爲止在棧溢出中發佈的所有解決方案,但沒有奏效。任何人都可以看看它嗎? 。

我的strings.xml看起來像這樣。

<?xml version="1.0" encoding="utf-8"?> 

<resources> 
<string name="app_name">AndroidSpinner</string> 
<string name="hello_world">Hello world!</string> 
<string name="menu_settings">Settings</string> 
<string name="select">Choose a country</string> 
<string name="select2">Choose an item</string> 
<string name="button_label">Submit</string> 
<string-array name="country_array"> 
    <item>Greece</item> 
    <item>United Kingdom</item> 
    <item>Italy</item> 
    <item>France</item> 
    <item>Germany</item> 
    <item>Turkey</item> 
    <item>Poland</item> 
    <item>India</item> 
</string-array> 
</resources> 

我能解決我的R參數的問題,但現在我的應用程序犯規開放和它說,該應用程序stopped.But我的程序是免費的錯誤。

+0

您是否嘗試清理您的項目? –

+0

是的,我試過清洗它。但沒有幫助。 – user3020345

+1

你的'strings.xml'文件有錯誤。發表它。當您的xml文件出現錯誤時,不會創建R.java。運行lint以檢查xml文件中的錯誤。 – Naddy

回答

0

如果/res文件夾中的任何文件中存在錯誤,則無法創建R.java文件。

+0

是的。但我在res文件夾中看不到任何錯誤。錯誤沒有顯示在我的xml文件中,但在控制檯中顯示沒有找到與給定名稱相匹配的資源(在'title'處,值爲'@ string/action_settings')。 – user3020345

+0

跑Lint。你可以通過這種方式找到答案。 –

+0

這聽起來像你在你的res/menu文件夾中的文件中使用字符串action_settings,但它沒有在strings.xml中定義 要解決此問題,請在strings.xml中定義action_settings,或者轉到res \ menu \ main.xml並刪除/更改引用action_settings – nyx

0

您告訴錯誤出現在AndroidSpinnerExample \ res \ menu \ main.xml中,但您的問題沒有該代碼。你貼的代碼是從佈局請從菜單文件夾中的main.xml文件

+0

這應該是一個評論,而不是回答。 –

+0

是的,我知道,但由於我的名譽,我不能添加評論 –

+0

我沒有編輯我的main.xml文件 – user3020345

1

粘貼代碼試試這個:

按下Ctrl鍵++信「Ø」如果您正在開發的應用程序在Eclipse中。 它會爲你導入文件。

此外, 在 「的strings.xml」 文件添加字符串:

<string name="action_settings">Your String name</string> 

希望這有助於。

+0

嘗試..但沒有任何工作。 – user3020345

+0

@ user3020345你現在得到什麼錯誤? –

相關問題