【问题标题】:Two spinners change text in TextView两个微调器更改 TextView 中的文本
【发布时间】:2014-06-09 14:04:05
【问题描述】:

我正在尝试制作这个 android 应用程序,但我遇到了一些问题。我想在我的左旋转器中选择一个卡号,在右旋转器中是我的经销商手,我也在那里选择一个卡号。(见下图)

我可以更换我的卡片并且图像更新没有问题。但是当我选择 ex 17 和 2 时,如何更改 Textview 中的文本?我有一个 TextView,但清除了文本。 这个我试过了,还是不行

if(plHand.equals("8") && dlHand.equals("2") || dlHand.equals("3")){
        Toast.makeText(this, "IT WORKS!", Toast.LENGTH_LONG).show();
    }

我做了一个 Toast 只是为了检查是否发生了什么事。但什么也没有发生。但是我该怎么做呢? plHanddlHand 是一个字符串数组。我也试过这个

if(sp1.getSelectedItem().toString().equals("17") && (sp2).getSelectedItem().toString().equals("Ace"){
        Toast.makeText(MainActivity.this, "IT WORKS!", Toast.LENGTH_LONG).show();

    }

希望你们知道该怎么做!

编辑:添加更多代码

final String[] plHand = getResources().getStringArray(R.array.yourHand_array);
final String[] dlHand = getResources().getStringArray(R.array.dealerHand_array);

final Spinner sp1 = (Spinner) findViewById(R.id.spinner1);
final Spinner sp2 = (Spinner) findViewById(R.id.spinner2);

我要更改的文本也在字符串数组中,但如果有更简单的方法,我不必使用字符串数组!

编辑!!:现在可以使用了!完整代码在这里! http://pastebin.com/g3M2wbtL

【问题讨论】:

  • 你调试过代码吗?当光标在 sp1.getSelectedItem().toString()(sp2).getSelectedItem().toString()plHand 上时这个值是多少b> 和 dlHand
  • 我无法弄清楚调试器,抱歉。
  • 你说你无法弄清楚调试器是什么意思?它在日食上吗?

标签: java android blackjack android-toast


【解决方案1】:

只需将相同的OnItemSelectedListener 附加到两个微调器,如下所示:

AdapterView.OnItemSelectedListener listener = new AdapterView.OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        String plHandText = sp1.getSelectedItem().toString();
        String dlHandText = sp2.getSelectedItem().toString();
        if ("17".equals(plHandText) && "2".equals(dlHandText)){
            Toast.makeText(MyActivity.this, "It works!", Toast.LENGTH_LONG).show();
        }
    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {

    }
}
sp1.setOnItemSelectedListener(listener);
sp2.setOnItemSelectedListener(listener);

【讨论】:

  • 不行,首先我没有“getActivity”而且我已经定义了我的plHand,见链接pastebin.com/JtZf0XiA
  • 不,抱歉,仍然不显示 Toast。我应该在我的 onCreate 方法中编写此代码吗?我的 onCreate 方法中的大部分代码都在这里pastebin.com/ZfHhzRXg
  • @Lobbe 因为你有自己的微调器sp1sp2,你应该将它们与监听器一起使用。好的,再次修改代码
  • 所以你要我删除代码行?这是因为我在代码的下方使用了“sp1”和“sp2”。但即使我用 sp1.setonitemselected 做了你所说的......它仍然不起作用。
  • @Lobbe 只需在sp2.setAdapter(ar2); 之后添加此代码,应该可以工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-02
  • 1970-01-01
  • 2015-10-09
  • 1970-01-01
  • 1970-01-01
  • 2011-03-13
相关资源
最近更新 更多