gpt4 book ai didi

android - 如何比较字符串数组

转载 作者:行者123 更新时间:2023-11-29 21:35:43 27 4
gpt4 key购买 nike

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)我正在使用抽屉导航。这是一个带有 Fragment 的类,用于显示名为:

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) 我想根据点击的项目、加载的图像调用不同的 Intents...我已经尝试过这种形式,但没有成功。

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;
}
}

当我比较这些字符串时?谢谢大家!

最佳答案

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

替换为

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
}

关于android - 如何比较字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18476821/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com