【问题标题】:Toast from spinner not showing微调器的吐司没有显示
【发布时间】:2017-03-22 09:40:49
【问题描述】:

旋转器在选择旋转器中的任何类型时都有一个频段流派列表,它将显示烤面包,在单击旋转器时不会显示吐司,代码没有显示任何错误?任何想法为什么?

    String spinnerSelection = null;
    Spinner spinner = null;

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



       ArrayAdapter<String> adapter = new ArrayAdapter<>(
                this, android.R.layout.simple_spinner_item, spinnerContent);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);


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



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



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

            Toast.makeText( getBaseContext(),"Hell Yeah", Toast.LENGTH_SHORT).show();
        }
    }
    public void onNothingSelected(AdapterView<?> arg0) {
    }
}

【问题讨论】:

  • 在 toast 中使用 MainActivity.this 作为上下文
  • 问题是你的onItemSelected 没有被调用,因为你没有为你的微调器设置onItemSelectedListener

标签: android spinner android-toast


【解决方案1】:

不要忘记在微调器中添加点击监听器

    spinner.setOnItemClickListener(this);

【讨论】:

    【解决方案2】:

    您正在按钮上添加 setOnClickListener()。将 setOnItemClickListener() 添加到您的微调器。

    【讨论】:

    • 按钮指向其他活动页面
    • 好的,然后添加 spinner.setOnItemClickListener()
    • 是的。在这两行下面,添加以下行: spinner.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView> adapterView, View view, int i, long l) { Toast.makeText( getBaseContext() "展示你的恶魔角!!", Toast.LENGTH_SHORT).show(); } });
    • 是的,删除它,如果它仍然不起作用,请在此处发布堆栈跟踪。并在 Toast 中编写 getApplicationContext() 而不是 getBasecontext()。
    【解决方案3】:

    您需要将@Override 用于onItemSelected(...)onNothingSelected(...) 函数。

    确保您在微调器上设置了一个侦听器: spinner.setOnItemClickListener(this);

    编辑

    public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
        MediaPlayer myMusic;
        int paused;
    
    
        public void play(View view) {
            if (myMusic == null) {
                myMusic = MediaPlayer.create( this, R.raw.fast_and_cold );
                myMusic.start();
    
    
            }
        }
    
    
        public void stop(View view) {
            myMusic.reset();
            myMusic = null;
        }
    
    
    
        String spinnerSelection = null;
        Spinner spinner = null;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate( savedInstanceState );
            setContentView( R.layout.activity_main );
    
    
    
            final List<String> spinnerContent = new ArrayList<>();
            spinnerContent.add("Black Metal");
            spinnerContent.add("Death Metal");
            spinnerContent.add("Thrash Metal");
            spinnerContent.add("Heavy Metal");
    
    
    
            ArrayAdapter<String> adapter = new ArrayAdapter<>(
                this, android.R.layout.simple_spinner_item, spinnerContent);
    
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    
    
            spinner = (Spinner) findViewById(R.id.spinner);
            spinner.setAdapter(adapter);
            spinner.setOnItemSelectedListener(this); // add this line
    
    
    
            Button button = (Button) findViewById(R.id.button);
            button.setOnClickListener(new View.OnClickListener() {
    
    
    
    
    
        }
    
        @Override // add this line
        public void onItemSelected(AdapterView<?>parent, View v, int position, long id) {
    
    
                Toast.makeText( getBaseContext(),"Show your Devil Horns !!", Toast.LENGTH_SHORT).show();
    
        }
    
        @Override // add this line
        public void onNothingSelected(AdapterView<?> arg0) {
    
        } 
    
    }
    

    【讨论】:

    • 您能突出显示哪一部分吗?这是第一次制作应用程序
    • @redhotrocketsss 看到我的编辑。结帐// add this line cmets。其中三个
    猜你喜欢
    • 1970-01-01
    • 2019-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多