获取Android的一个微调的位置 [英] Get the position of a spinner in Android

查看:116
本文介绍了获取Android的一个微调的位置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图让微调的位置(号码)时,选择使用它在另一个活动,将每次显示不同的地图取决于所选择的项目。当我运行该应用程序崩溃。这是第一个活动code:

 公共类TestProjectActivity延伸活动{
    公共微调spinner1;
    公共整型数;
    私人按钮valideButton;

    公共无效的onCreate(包savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.main);
        MySpinner();
        valide_button();

    }

    公共无效MySpinner(){

        最后的微调spinner1 =(微调)findViewById(R.id.spinner1);

        ArrayAdapter< CharSequence的>适配器= ArrayAdapter.createFromResource(
                对此,R.array.num,android.R.layout.simple_spinner_item);
                                      adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner1.setAdapter(适配器);

        spinner1.setOnItemSelectedListener(新OnItemSelectedListener(){

            公共无效onItemSelected(适配器视图<> parentView,
                    查看selectedItemView,INT位置,长的id){
                //对象项目= parentView.getItemAtPosition(位置);

                TestProjectActivity.this.number = spinner1
                        .getSelectedItemPosition()+ 1;

            }

            公共无效onNothingSelected(适配器视图<>为arg0){//什么也不做
            }

        });

    }

    公共无效valide_button(){

        valideButton =(按钮)findViewById(R.id.valide_button);
        valideButton.setOnClickListener(新View.OnClickListener(){

            公共无效的onClick(视图v){

                意向意图=新的意图(TestProjectActivity.this,
                        MetroMapActivity.class);
                startActivity(意向);
            }

        });

    }

}
 

解决方案

让FO微调选择的方法是:

  spinner1.getSelectedItemPosition();
 

文档参考: <一href="http://developer.android.com/reference/android/widget/AdapterView.html#getSelectedItemPosition">http://developer.android.com/reference/android/widget/AdapterView.html#getSelectedItemPosition()

不过在code,你是引用它的一个地方,就是你的setOnItemSelectedListener之内。这是没有必要轮询离心器,因为onItemSelected方法被传递的位置的位置的变量。

所以,你可以把上面一行:

  TestProjectActivity.this.number =位置+ 1;
 

如果不解决问题,请邮寄产生的错误消息,当您的应用程序崩溃。

I'm trying to get the position (number) of the spinner when selected to use it in another Activity that will display a different map each time depending on the item selected. when I run the application it crashes. this is the first Activity code:

public class TestProjectActivity extends Activity {
    public Spinner spinner1;
    public Integer number;
    private Button valideButton;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        MySpinner();
        valide_button();

    }

    public void MySpinner() {

        final Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);

        ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
                this, R.array.num, android.R.layout.simple_spinner_item);
                                      adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner1.setAdapter(adapter);

        spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {

            public void onItemSelected(AdapterView<?> parentView,
                    View selectedItemView, int position, long id) {
                // Object item = parentView.getItemAtPosition(position);

                TestProjectActivity.this.number = spinner1
                        .getSelectedItemPosition() + 1;

            }

            public void onNothingSelected(AdapterView<?> arg0) {// do nothing
            }

        });

    }

    public void valide_button() {

        valideButton = (Button) findViewById(R.id.valide_button);
        valideButton.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {

                Intent intent = new Intent(TestProjectActivity.this,
                        MetroMapActivity.class);
                startActivity(intent);
            }

        });

    }

}

解决方案

The way to get the selection fo the spinner is:

  spinner1.getSelectedItemPosition();

Documentation reference: http://developer.android.com/reference/android/widget/AdapterView.html#getSelectedItemPosition()

However in your code, the one place you are referencing it is within your setOnItemSelectedListener. It is not necessary to poll the spinner, because the "onItemSelected" method gets passed the position as the "position" variable.

So you could change that line to:

TestProjectActivity.this.number = position + 1;

If that does not fix the problem, please post the error message generated when you app crashes.

这篇关于获取Android的一个微调的位置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆