使用Spinner切换到Android中的另一个Activity

时间:2011-11-21 20:54:47

标签: android android-widget spinner

我正在制作一个有两个活动的Android应用程序,一个鼓活动和一个钢琴活动。

我已经完成了所有用户界面的操作,甚至还有鼓声的功能。

我想知道的是如何使用Spinner Widget从鼓更改为钢琴?

我的旋转器都设置在它要求你选择乐器的地方,它说鼓和钢琴,我只需要实现。

我是多个UI的多个活动的新手,所以任何帮助都会很棒。

这是我尝试的但是不对:

public class MyOnItemSelectedListener implements OnItemSelectedListener 
{

    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) 
    {
      Toast.makeText(parent.getContext(),
          parent.getItemAtPosition(pos).toString() + " View Selected",    Toast.LENGTH_SHORT).show();

      if(parent.getItemAtPosition(pos).toString() == "Drums")
      {
          Intent i = new Intent(this, BeatLooper.java);
          startActivity(i);
      }

      if(parent.getItemAtPosition(pos).toString() == "Piano")
      {
          Intent i = new Intent(this, PianoActivity.java);
          startActivity(i);
      }
    }

    public void onNothingSelected(AdapterView parent) 
    {
      // Do nothing.
    }
}

此代码位于BeatLooper.java文件中,这是我的Drums及其实现的位置。我想使用切换器切换到我的PianoActivity.java文件,这是我的Piano实现的地方。

我的布局中有2个.xml文件:BeatLooper.java的main.xml和PianoActivity.java的piano.xml

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

将PianoActivity.java和BeatlLooper.java替换为PianoActivity.classBeatLooper.class

编辑**

实际上,假设您的MyOnItemSelectedListener是活动内部的内部类,则需要使用new Intent(MyActivityName.this, PianoActivity.class),将MyActivityName替换为Activity类的实际名称。通常,一个简单的this会这样做,因为在Java中它引用了当前对象,而简单的情况就是你只是从它里面的某个地方引用你的Activity。