2013-05-06 41 views
0

我目前正在尝试访问并使用图像来代替我正在使用的Spinner中的文本。 下面的代码工作,如果我要专门使用文本,而不是drawables。Android存储Draw中的数组

我前面提到这个问题:Storing R.drawable IDs in XML array

希望能解决我的问题,但是我无法弄清楚到底我要去哪里错了。我似乎不断得到:

Error: No resource found that matches the given name (at '^index_1' with value '@drawable/ic_launcher.png') 

等,为每个图像。每个drawable都存在并位于适当的位置,代码显然超出了我的理解范围。

<string-array name="rating_array"> 
     <item>N/A</item> 
     <item>@drawable/ic_launcher.png</item> 
     <item>@drawable/smile.png</item> 
     <item>@drawable/stale.png</item> 
     <item>@drawable/sad.png</item> 
     <item>@drawable/angry.png</item> 
    </string-array> 

[编辑]

我已经摆脱了巴纽扩展自己。但是,我仍然收到相同的错误。 还有其他建议吗?

也越来越:

我摆脱这些错误,我现在越来越:

\水库\布局\ activity_main.xml中:12:错误:错误:没有发现资源匹配给定名称(在'contentDescription'中,值为'@ string/rate_main')。 \ res \ layout \ activity_main.xml:28:错误:错误:找不到与给定名称匹配的资源(位于'条目'处,值为'@ array/category_array')。 \ res \ layout \ activity_main.xml:36:错误:错误:找不到与给定名称匹配的资源(位于'条目'处,值为'@ array/rating_array')。 res \ layout \ activity_main.xml:错误:错误:找不到与给定名称匹配的资源(位于'条目'处,值为'@ array/descriptor_array')。 res \ menu \ main.xml:3:错误:错误:找不到与给定名称相匹配的资源(位于'title'处,值为'@ string/action_settings')。

作为错误,但是当我删除这些列表文件时,我没有问题。 另外,出于某种原因,它说它影响我的其他数组,但“rating_array”是唯一不是您的标准文本列表。

代码在它的关于这一整体:

String.xml

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

    <string-array name="rating_array"> 
     <item>N/A</item> 

    </string-array> 

    <string-array name="descriptor_array"> 
     <item>N/A</item> 
     <item>Price</item> 
     <item>Service</item> 
    </string-array> 

    <string-array name="category_array"> 
     <item>N/A</item> 
     <item>Restaurants</item> 
     <item>Hotels</item> 
     <item>Theater</item> 
     <item>Shopping</item> 
    </string-array> 



    <string name="app_name">W!NK</string> 
    <string name="action_settings">Settings</string> 



    <string name="rate_main">Rate</string> 


</resources> 

MainActivity.Java

import android.app.Activity; 
import android.os.Bundle; 
import android.view.Menu; 
import android.widget.Spinner; 

public class MainActivity extends Activity { 

    private Spinner spinbutton1, spinbutton2, spinbutton3; 





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




    } 

    public void addListenerOnSpinnerItemSelection(){ 
     spinbutton1 = (Spinner) findViewById(R.id.spinbutton1); 
      spinbutton1.setOnItemSelectedListener(new CustomOnItemSelectedListener()); 
     spinbutton2 = (Spinner) findViewById(R.id.spinbutton2); 
      spinbutton2.setOnItemSelectedListener(new CustomOnItemSelectedListener()); 
     spinbutton3 = (Spinner) findViewById(R.id.spinbutton3); 
      spinbutton3.setOnItemSelectedListener(new CustomOnItemSelectedListener()); 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 




} 
+1

安置自己的代码来访问上述 – 2013-05-06 01:37:28

回答

1

为错误:

Error: No resource found that matches the given name (at '^index_1' with value '@drawable/ic_launcher.png')

,因为你是目前通过在string-array中带有可绘制名称的可绘制图像扩展名(.png)。所以你将需要删除的绘制名文件扩展名文件(.png),它使用的是在string-array改变它:

<string-array name="rating_array"> 
     <item>N/A</item> 
     <item>@drawable/ic_launcher</item> 
     <item>@drawable/smile</item> 
     <item>@drawable/stale</item> 
     <item>@drawable/sad</item> 
     <item>@drawable/angry</item> 
    </string-array> 
+0

IM good..SO真的错过你的存在.. – Pragnani 2013-05-06 01:44:49

+0

我摆脱了这些错误,我现在得到: – user2353119 2013-05-06 02:41:08