我在扩展Activity
列表中列出了一些项目,并且列表使用自定义适配器列出。我的问题是,这是我的 xml文件,我已在此微调器中添加了一些项目。如何将微调器值获取到下一个布局。有谁知道然后请告诉我?提前谢谢。
问问题
636 次
3 回答
1
我不清楚你在这里实际问的是什么,但作为猜测,你问的可能有两件事
- 如何从 Spinner 中获取当前选定的值
- 如何在下一个布局中为微调器设置相同的值
1.够简单
((Spinner)findViewById(R.id.spinner1)).getSelectedItem()
将返回您的微调器选择的对象。
- 稍微复杂一点,您需要确定提供的数据中的哪个索引对应于您从 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 回答