簡體   English   中英

微調框不起作用setOnItemSelectedListener

[英]Spinner doesn't work setOnItemSelectedListener

當我在spinner選擇數據時, Onitemselectedlistener不起作用。 我不確定是怎么回事?

我選擇的數據不可讀。 如何讀取spinner選擇的數據? 此版本的代碼不起作用,所選數據不會出現。

public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener, AdapterView.OnItemSelectedListener, View.OnTouchListener {
    private Spinner spinner;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        spinner = (Spinner) findViewById(R.id.spinnerMain);
        ArrayAdapter < String > adapterSpinner = new ArrayAdapter < String > (MainActivity.this,
            android.R.layout.simple_spinner_item, Rooms);
        adapterSpinner.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapterSpinner);
        spinner.setOnItemSelectedListener(MainActivity.this);
        adapterSpinner.notifyDataSetChanged();

        final AdapterView.OnItemSelectedListener listener = new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView < ? > adapterView, View view, int i, long l) {
                switch (i) {
                    case 0:
                        break;
                    case 1:
                        break;
                    case 2:
                        break;
                }
            }

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

            }
        };

        final Spinner spnLocale = (Spinner) findViewById(R.id.spinnerMain);

        spnLocale.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            public void onItemSelected(AdapterView < ? > adapterView, View view, int i, long l) {
                Toast.makeText(MainActivity.this, "Selected", Toast.LENGTH_SHORT).show();
                spnLocale.setOnItemSelectedListener(listener);

            }

            public void onNothingSelected(AdapterView < ? > adapterView) {
                return;
            }
        });
        // ...
    }
    // ...
}

您已經將全球微調器置於頂部。 像這樣實現監聽器-

spinner.setOnItemSelectedListener(new 
 AdapterView.OnItemSelectedListener() {
                public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
                    Toast.makeText(MainActivity.this, "Selected", Toast.LENGTH_SHORT).show();
                    spinner.setOnItemSelectedListener(listener);

                }

                public void onNothingSelected(AdapterView<?> adapterView) {
                    return;
                }
            });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM