如何比较字符串阵列

问题描述:

Android开发者!如何比较字符串阵列

1)我试图比较我string.xml宣布一个字符串数组(我不知道这是否是可能的):

<string-array name="menu_array"> 
     <item>Pizzas</item> 
     <item>Baguetes</item> 
     <item>Calzones</item> 
     <item>Esfihas</item> 
     <item>Refrigerantes</item> 
     <item>Vinhos</item> 
     <item>Cervejas</item>   
</string-array> 

2)我有一个ImageView的布局,更新对应于每个菜单项的字符串阵列的图像:

<ImageView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/image" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#000000" 
    android:gravity="center" 
    android:clickable="true" 
    android:onClick="selecionarOpcao" 
    android:padding="32dp" /> 

3)我使用的导航抽屉。这是一个片段类节目叫项目的图像:

public static class MenuFragment extends Fragment { 
    public static final String ARG_PRODUTOS_NUMBER = "produtos_number"; 

    public MenuFragment() { 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) 
    { 
     View rootView = 
      inflater.inflate(R.layout.fragment_menu, container, false); 

     int i = getArguments().getInt(ARG_PRODUTOS_NUMBER); 
     String menu = getResources().getStringArray(R.array.menu_array)[i]; 

     int imageId = getResources().getIdentifier(
      menu.toLowerCase(Locale.getDefault()), "drawable", 
      getActivity().getPackageName()); 

     ((ImageView) rootView.findViewById(R.id.image)) 
      .setImageResource(imageId); 
     getActivity().setTitle(menu); 
     return rootView; 
    } 
} 

4)我想根据单击的项目,以调用不同的意图,图像加载中...我已经尝试这种形式,但不成功。

public void selecionarOpcao(View view) 
{ 
    switch (view.getId()) { 
    case R.id.image: 
     String[] produto = 
      getResources().getStringArray(R.array.menu_array); 
     if (produto.toString().equals("pizza")) { 
      startActivity(new Intent(this, ListarActivity.class)); 
     } //Others Condictions 
     break; 
    } 
} 

当我比较这些字符串?多谢你们!

+1

你必须做produto foreach foreach(字符串s在produto){if(s.equals(“pizza”)){//做你的东西}} –

String[] produto = getResources().getStringArray(R.array.menu_array); 
for(String item in produto) { 
    if (item.equals("pizza")) { 
     startActivity(new Intent(this, ListarActivity.class)); 
    }//Others Condictions 
} 

更新替代: 你可以尝试设置标签用绳子

((ImageView) rootView.findViewById(R.id.image)).setTag(menu); // in onCreateView 

而且在听众​​中使用此标记:

public void selecionarOpcao(View view) 
{ 
    String menuString = (String) view.getTag(); 
    if(menuString.equals("Pizzas")){ 
    // start activity 
    } else if /// Other Condition 
} 
+0

谢谢你!成功地! – luzielsouza

+1

不客气! – Peregreen