【问题标题】:Android - Open Spinner Programmatically (dialog spinner)Android - 以编程方式打开微调器(对话框微调器)
【发布时间】:2018-05-24 13:22:48
【问题描述】:

我有一个微调器 spinnerMode 是对话框。我的问题是:如何通过单击按钮或其他任何方式以编程方式打开它? performClick() 对我不起作用。提前致谢。

  <Spinner
        android:id="@+id/spinner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="8dp"
        android:spinnerMode="dialog"/>

【问题讨论】:

  • button.setOnClickListener 应该可以工作。
  • performClick() 方法返回了什么?

标签: java android spinner


【解决方案1】:

我希望这对你有用。

 button = (Button) findViewById(R.id.button);
 final Spinner spinner = (Spinner) findViewById(R.id.spinner);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(MainActivity.this,
                        R.array.your_array, android.R.layout.simple_spinner_item); //add your arraylist.
                adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                spinner.setAdapter(adapter);
                spinner.performClick();

            }
        });

【讨论】:

  • 使用对话框时,我的微调器使用 performClick(); 在对话框后面打开;有什么解决办法吗?
【解决方案2】:

我在我的 MainActivity.class 中尝试了下面的代码,它就像一个魅力!

代码:

    Spinner spinner=(Spinner)findViewById(R.id.spinner);

    String[] list={"one","Two","one","Two","one","Two","one","Two"};
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_dropdown_item, list);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);

    spinner.performClick();

注意:放置这个“spinner.performClick();”您需要的任何地方,即按钮单击或服务器响应等......

【讨论】:

    【解决方案3】:

    这里是微调器的代码

        Spinner spinner = findViewById(R.id.spinner);
        Button button3 = findViewById(R.id.button3);
    
        ArrayList<String> listSPinner = new ArrayList<>();
        listSPinner.add("1");
        listSPinner.add("1");
        listSPinner.add("1");
        listSPinner.add("1");
    
        ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, listSPinner);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        spinner.setAdapter(adapter);
    
        button3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                spinner.performClick();
            }
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-16
      • 1970-01-01
      相关资源
      最近更新 更多