如何在同一个活动中把spinner的选择值传递给onCreate()部分?

问题描述 投票:0回答:1

我想做一个基于一些Edittexts和两个spinner收集数据的应用程序。然后,通过 点击按钮 在TextView中显示所有字符串数据。我知道这可能很简单,但我想知道如何在spinners中获得所选的Item,并将它们显示在其余值附近。

Spinner shift, permit;

EditText TextHere, TrainNumber, SignalPerson, NavganPerson, DriverPerson;

TextView BigText;

Button SaveButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    shift=(Spinner)findViewById(R.id.shift_spinner);
    permit=(Spinner)findViewById(R.id.permission_spinner);
    TextHere=(EditText)findViewById(R.id.text_here);
    TrainNumber=(EditText)findViewById(R.id.train_number);
    SignalPerson=(EditText)findViewById(R.id.signal_person);
    NavganPerson=(EditText)findViewById(R.id.navgan_person);
    DriverPerson=(EditText)findViewById(R.id.driver_person);
    SaveButton=(Button) findViewById(R.id.save_btn);
    BigText=(TextView)findViewById(R.id.text_text);

    ArrayAdapter ShiftSelect = ArrayAdapter.createFromResource(
            this,
            R.array.shifts,
            R.layout.support_simple_spinner_dropdown_item
    );
    shift.setAdapter(ShiftSelect);
    shift.setOnItemSelectedListener(this);

    ArrayAdapter PermissionSelect = ArrayAdapter.createFromResource(
            this,
            R.array.permissions,
            R.layout.support_simple_spinner_dropdown_item
    );
    permit.setAdapter(PermissionSelect);
    permit.setOnItemSelectedListener(this);

    final String TN = TrainNumber.getText().toString();

    final String TH = TextHere.getText().toString();

    final String SP = SignalPerson.getText().toString();

    final String NP = NavganPerson.getText().toString();

    final String DP = DriverPerson.getText().toString();

    SaveButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        }
    });

}


@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

    Spinner spinner = (Spinner) parent;

    if (spinner.getId()==R.id.shift_spinner){
        String SHIFT = parent.getSelectedItem().toString();
    }
    if (spinner.getId()==R.id.permission_spinner){
        String PER = parent.getSelectedItem().toString();
    }
}

@Override
public void onNothingSelected(AdapterView<?> parent) {
}

'''

我想通过从 公共无效的onItemSelected 到onCreate方法部分,以显示在一个txetview.Thanks you.I want to make a app which collect data based on some Edittexts and two spinners.

android spinner oncreate
1个回答
0
投票

试试这个。

TextView textView;
Spinner spinner;
String SEL_VALUE;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    spinner=(Spinner)findViewById(R.id.shift_spinner);
    textView=(TextView)findViewById(R.id.textView);
    SEL_VALUE="";

    // Create adapter here
    spinner.setAdapter(adapter);
    spinner.setOnItemSelectedListener(this);

}


@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

    String sel_val = spinner.getSelectedItem().toString();
    // Setting selected value to textView.
    SEL_VALUE = sel_val;
    textView.setText(sel_val);

}

@Override
public void onNothingSelected(AdapterView<?> parent) {
}

0
投票

我希望这是你问什么

Spinner shift, permit;

EditText TextHere, TrainNumber, SignalPerson, NavganPerson, DriverPerson;

TextView BigText;

Button SaveButton;
String SHIFT,PER;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    shift=(Spinner)findViewById(R.id.shift_spinner);
    permit=(Spinner)findViewById(R.id.permission_spinner);
    TextHere=(EditText)findViewById(R.id.text_here);
    TrainNumber=(EditText)findViewById(R.id.train_number);
    SignalPerson=(EditText)findViewById(R.id.signal_person);
    NavganPerson=(EditText)findViewById(R.id.navgan_person);
    DriverPerson=(EditText)findViewById(R.id.driver_person);
    SaveButton=(Button) findViewById(R.id.save_btn);
    BigText=(TextView)findViewById(R.id.text_text);

    ArrayAdapter ShiftSelect = ArrayAdapter.createFromResource(
            this,
            R.array.shifts,
            R.layout.support_simple_spinner_dropdown_item
    );
    shift.setAdapter(ShiftSelect);
    shift.setOnItemSelectedListener(this);

    ArrayAdapter PermissionSelect = ArrayAdapter.createFromResource(
            this,
            R.array.permissions,
            R.layout.support_simple_spinner_dropdown_item
    );
    permit.setAdapter(PermissionSelect);
    permit.setOnItemSelectedListener(this);

    final String TN = TrainNumber.getText().toString();

    final String TH = TextHere.getText().toString();

    final String SP = SignalPerson.getText().toString();

    final String NP = NavganPerson.getText().toString();

    final String DP = DriverPerson.getText().toString();

    SaveButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            BigText.setText(SHIFT+" "+PER);
        }
    });

}

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

    Spinner spinner = (Spinner) parent;

    if (spinner.getId()==R.id.shift_spinner){
        SHIFT = parent.getSelectedItem().toString();
    }
    if (spinner.getId()==R.id.permission_spinner){
        PER = parent.getSelectedItem().toString();
    }
}

@Override
public void onNothingSelected(AdapterView<?> parent) {
}

0
投票

试试这个。

TextView textView;
Spinner spinner;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    spinner=(Spinner)findViewById(R.id.shift_spinner);
    textView=(TextView)findViewById(R.id.textView);

    // Create adapter here
    spinner.setAdapter(adapter);
    spinner.setOnItemSelectedListener(this);

}


@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

    String sel_val = spinner.getSelectedItem().toString();
    // Setting selected value to textView.
    textView.setText(sel_val);

}

@Override
public void onNothingSelected(AdapterView<?> parent) {
}
© www.soinside.com 2019 - 2024. All rights reserved.