获取Android的一个微调的位置位置、Android

2023-09-06 02:54:11 作者:0觜0觜

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

文档参考: http://developer.android.com/reference/android/widget/AdapterView.html#getSelectedItemPosition()

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

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

  TestProjectActivity.this.number =位置+ 1;
 
Android获取View位置

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

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.