【问题标题】:Get the values from one layout to next layout?从一个布局获取值到下一个布局?
【发布时间】:2011-09-21 09:16:30
【问题描述】:

我在列表中列出了一些扩展 Activity 的项目,并且列表使用自定义适配器列出。我的问题是,这是我的 xml File 我已经向这个微调器添加了一些项目。如何将微调器值获取到下一个布局。有谁知道然后请告诉我?提前谢谢。

【问题讨论】:

    标签: android spinner custom-adapter


    【解决方案1】:

    我不清楚您在这里实际问的是什么,但作为猜测,您可能要问两件事

    1. 如何从 Spinner 中获取当前选定的值
    2. 如何在下一个布局中为微调器设置相同的值

    1。 够简单

    ((Spinner)findViewById(R.id.spinner1)).getSelectedItem()
    

    将返回您的微调器选择的对象。

    1. 稍微复杂一点,您需要确定提供的数据中的哪个索引对应于您从 getSelectedItem() 获得的结果,例如,如果您有一个字符串数组,那么您可以搜索直到找到索引然后设置它在新的微调器上。

    例如:

    String[] options = new String[] {"One","Two","Three","Four"};
    String val = (String)((Spinner)findViewById(R.id.spinner1)).getSelectedItem();
    //.......pass this to a layout/activity etc.........
    for (int i=0; i<options.length; i++)
    {
       if (options[i].equals(test))
       {
          ((Spinner)findViewById(R.id.spinner2).setSelection(i);
          break;
       }
    }
    

    但最好的办法是尝试更清楚地解释您的要求。

    【讨论】:

      【解决方案2】:

      首先您必须使用

      从微调器中选择数据
      spinnerobject.setOnItemSelectedListener(
                      new  AdapterView.OnItemSelectedListener() {           
      
                 @Override
                 public void onItemSelected(AdapterView<?> parent, 
                   View view, int position, long id) 
                 {
      
                     Spinner spinnerobject = (Spinner) findViewById(R.id.Spinner02);
                    string value = (String)spinnerobj.getSelectedItem();
      
      
      
      
                 }
                      @Override
                      public void onNothingSelected(AdapterView<?> parent) {
                          // TODO Auto-generated method stub
      
                      }
       });
      

      然后你必须使用意图将其发送到下一个活动..

       Use
        Intent.putExtra(..):
      
          intent.putExtra("keyName", "somevalue");
           This method is overloaded and takes various types as second argument: int, byte, String, various arrays..
      
         To get the data out use appropriate getXYZExtra(). For String this is:
      
         getStringExtra(String keyName)
      

      【讨论】:

      • 或者您也可以使用静态关键字将变量值发送到其他类
      【解决方案3】:

      第一件事:你可以将值从一个活动传递到第二个活动,而不是一个布局到第二个 second :: 如果您需要将价值从一项活动传递给第二次使用

      第一个活动::

        activity.putExtra("lastpage", lastscore5); 
      

      *这里最后一页是应用唯一的关键

      第二个活动::

      Intent i1 = getIntent();
      var =  i1.getIntExtra("lastpage", 1);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-30
        • 1970-01-01
        • 2018-09-11
        • 2019-01-28
        • 1970-01-01
        • 1970-01-01
        • 2014-11-16
        • 1970-01-01
        相关资源
        最近更新 更多