【问题标题】:Display another arraylist element in textview using onItemSelected of a spinner使用微调器的 onItemSelected 在 textview 中显示另一个 arraylist 元素
【发布时间】:2014-06-09 07:09:44
【问题描述】:

我有 2 个数组列表,1 个用于向微调器显示元素,另一个用于在选择微调器中的一个元素时在 textview 上显示。

例子:

0---a---足球

1---b---羽毛球

2---c---篮球

"a,b,c" 是arraylist1中的元素; “足球、羽毛球、篮球”是arraylist2中的元素; “0,1,2”是两个arraylists的索引。两个arraylists上元素的索引已经正确排列,如上所示。

我现在要做的是让微调器显示“a,b,c”。当我在微调器中选择“b”时,文本视图将显示“羽毛球”。

我应该在微调器的 onItemSelected 中写什么?对此有什么想法吗?

【问题讨论】:

    标签: android arraylist spinner onitemselectedlistener


    【解决方案1】:
    spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parentView, View selectedItemView, 
        int position, long id) {
        switch(position){
          case 0: 
          textView1.setText(sportsList.get(0));
          break;
          case 1:
          textView2.setText(sportsList.get(1));
          break;
          case 2: 
          textView3.setText(sportsList.get(2));
           break;
        }
       }
    });
    

    【讨论】:

    • 谢谢,我刚刚从您的回答中得到了一个想法。由于我将从数组列表中添加/删除元素,所以我不知道我的数组列表的大小是多少。除此之外,两个arraylist中元素的索引是相同的,所以我只写“textView.setText(sportList.get(position));”。
    • @vincentsiau 太好了,但我给了你这个选项,所以你可以将数据设置为所需的文本视图,如果你想清除其余部分,你也可以将它们设置为 textView1.setText("") 这样一来时间只会在您的布局上显示一个文本。
    【解决方案2】:

    您可以通过此代码在微调器中获取所选项目

    String selected = spinner1.getText().toString();

    然后检查条件,

    if(selected.equals("a")){ textview1.setText(array2.get(0)); }else if(selected.equals("b")){ ......

    【讨论】:

      【解决方案3】:

      试试这个,

      spinner.setOnItemSelectedListener(new OnItemSelectedListener() 
      {
          @Override
          public void onItemSelected(AdapterView<?> arg0, View arg1, int position, long arg3) 
          {
            Textview  your_tv = (Textview)findviewbyid(R.id.tv);
            your_tv.setText(your_array[position]);
          }
      
          @Override
          public void onNothingSelected(AdapterView<?> arg0) 
          {
          }
      });
      

      【讨论】:

        猜你喜欢
        • 2012-11-25
        • 2012-11-05
        • 1970-01-01
        • 2017-02-13
        • 1970-01-01
        • 2013-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多