【问题标题】:Items in Spinner visible but onItemSelected Not WorkingSpinner 中的项目可见但 onItemSelected 不起作用
【发布时间】:2019-09-14 20:07:54
【问题描述】:

我是 Android 的初学者。我的 android 代码中有一个微调器。它从房间数据库中获取值,一旦选择,该值将被添加到列表视图中。我有两个问题 a) 我在 Spinner 中看到了值。但我无法选择它,而且这个微调器的 onItemSelected 也不起作用 b)我想在我的列表视图中添加一个删除图标以及这些值,以便如果用户对这些值不感兴趣,他可以删除它。

请有人帮我解决这个问题吗?

代码如下:

public class MainActivity extends AppCompatActivity
{
  private List<String> tasks = new ArrayList<String>();
  private ArrayAdapter<String> adapter;
  private ListView consultantsList;
  private Spinner spinner;

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

    consultantsRepository consrepo = 
    new consultantsRepository (getApplicationContext());
    ArrayList<String> oncons = consrepo.getConsultants();
    ArrayAdapter<String> consarrayadapter = 
    new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, 
    oncons);

    adapter = new ArrayAdapter<String>
    (this,android.R.layout.simple_list_item_1,tasks);
    ListView consultantsList = (ListView) findViewById(R.id.ListToSend);
    consultantsList.setAdapter(adapter);

    spinner = (Spinner) findViewById(R.id.consSpinner);
    spinner.setAdapter(consarrayadapter);
    consarrayadapter.setDropDownViewResource
    (android.R.layout.simple_spinner_dropdown_item);
    spinner.setOnItemSelectedListener
    (new AdapterView.OnItemSelectedListener() 
    {
        @Override
        public void onItemSelected
        (AdapterView<?> parent, View view, int position, long id)
        {
            String item = parent.getItemAtPosition(position).toString();
            Toast.makeText(getApplicationContext(), item, 
            Toast.LENGTH_LONG).show();
            tasks.add(item);
            adapter.notifyDataSetChanged();
        }
    });
  }
}

【问题讨论】:

  • ArrayList&lt;String&gt; oncons 中有多少个元素?
  • 感谢您的回复。只有 4 个
  • @DBHari 你是如何运行这段代码的?不覆盖 spinner.setOnItemSelectedListener 中的 onNothingSelected() ,否则您的代码看起来不错。

标签: android android-spinner


【解决方案1】:

尝试- String item=spinner.getSelectedItem().toString();

【讨论】:

  • 感谢您的 cmets。它适用于两种说法。就像 Abhinav 所说的那样,它正在起作用,而且原始声明也起作用。我清除了数据并重新启动并检查,现在可以工作了。谢谢大家。
  • 请告诉我如何在列表视图中添加删除图标?
  • 使用like-consultantsList.remove(position)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多