【问题标题】:Searching the First Character of a String to Pull Up Items From An Array搜索字符串的第一个字符以从数组中提取项目
【发布时间】:2016-10-25 21:09:58
【问题描述】:

我有一个正在 Android Studio 中开发的应用。我有一个包含 50 个州列表的数组。

用户可以输入一个文本字母,然后必须按“搜索”。 一旦他们按下搜索,它应该显示以该字母开头的所有状态。例如,如果他们搜索“k”,他们应该会看到堪萨斯州和肯塔基州。 这些结果应显示在微调器中。

我知道我需要使用

string_name.charAt(0);

在我的代码中的某个地方,但我不确定它在哪里或还有什么需要去的。

目前,当我运行我的应用程序时,无论我搜索什么字母,该应用程序都会在微调器中显示“Alabama”,然后当您单击微调器的下拉菜单时,它只会显示所有状态。

任何帮助都将不胜感激,因为我对 Java 和 StackOverflow 都很陌生,所以我希望我能清楚而恰当地提出我的问题。感谢任何可以提供帮助的人。

这是我的 Java 代码的一部分。

    public void buttonOnClick(View v) {
        Button button = (Button) v;
        Spinner spinner = (Spinner) findViewById(R.id.spinner);


        ArrayList states = new ArrayList();
        states.add("Alabama");
        states.add("Alaska");
        states.add("Arizona");
        states.add("Arkansas");
        states.add("California");
        states.add("Colorado");
        states.add("Connecticut");
        states.add("Delaware");
        states.add("Florida");
        states.add("Georgia");
        states.add("Hawaii");
        states.add("Idaho");
        states.add("Illinois");
        states.add("India");
        states.add("Iowa");
        states.add("Kansas");
        states.add("Kentucky");
        states.add("Louisiana");
        states.add("Maine");
        states.add("Maryland");
        states.add("Massachusetts");
        states.add("Michigan");
        states.add("Minnesota");
        states.add("Mississippi");
        states.add("Missouri");
        states.add("Montana");
        states.add("Nebraska");
        states.add("Nevada");
        states.add("New Hampshire");
        states.add("New Jersey");
        states.add("New Mexico");
        states.add("New York");
        states.add("North Carolina");
        states.add("North Dakota");
        states.add("Ohio");
        states.add("Oklahoma");
        states.add("Oregon");
        states.add("Pennsylvania");
        states.add("Rhode Island");
        states.add("South Carolina");
        states.add("South Dakota");
        states.add("Tennessee");
        states.add("Texas");
        states.add("Utah");
        states.add("Vermont");
        states.add("Virginia");
        states.add("Washington");
        states.add("West Virginia");
        states.add("Wisconsin");
        states.add("Wyoming");

        final
        ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, states);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);
        spinner.setOnItemSelectedListener(this);

    }


    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

    }

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

    }
}

【问题讨论】:

  • 我注意到您列出的是“India”而不是“Indiana”。
  • 感谢您的收看!

标签: java arrays string spinner


【解决方案1】:

当按钮被点击时,至少需要获取输入框中的值,然后根据第一个字母选择要添加到该arrayList中的内容。

我没有看到您的代码获取输入文本。

【讨论】:

    【解决方案2】:

    您也可以在 for 循环中创建状态字符串的子字符串并使用输入进行测试。子字符串与开始和结束变量一起使用,例如 Result=states.substring(0,1),因为这样只会保留第一个字母

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-12
      • 2011-09-07
      • 1970-01-01
      • 2018-06-27
      • 2022-11-02
      • 2012-06-06
      • 1970-01-01
      相关资源
      最近更新 更多