0

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

4

3 回答 3

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;
   }
}

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

于 2011-09-21T09:34:36.970 回答
1

首先,您必须使用从微调器中选择数据

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)
于 2011-09-21T09:35:53.660 回答
0

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

第一项活动::

  activity.putExtra("lastpage", lastscore5); 

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

第二项活动:

Intent i1 = getIntent();
var =  i1.getIntExtra("lastpage", 1);
于 2011-09-21T09:23:29.027 回答