2013-04-27 84 views
0

我试图从我的微调框中选择一个选项时开始新的活动,但每当我选择启动新活动的应用程序崩溃时。我开始有意向的新的活动,我使用onItemSelected的微调从微调框开始新的活动

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.Window; 
import android.view.WindowManager; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemSelectedListener; 
import android.widget.Spinner; 
import android.widget.TextView; 

public class Abs extends Activity { 

private Spinner StretchType; 
TextView tv; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(
      WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, 
      WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); 
    setContentView(R.layout.abs); 
    addListenerOnSpinnerItemSelection(); 
    tv = (TextView) findViewById(R.id.tvTypeofStretch); 

} 

public void addListenerOnSpinnerItemSelection() { 
    StretchType = (Spinner) findViewById(R.id.sSType); 
    StretchType 
      .setOnItemSelectedListener(new CustomOnItemSelectedListener()); 
} 

public class CustomOnItemSelectedListener extends Activity implements 
     OnItemSelectedListener { 

    public void onItemSelected(AdapterView<?> parent, View view, int pos, 
      long id) { 
// **************************** below here is where I start the new activity 
     switch (pos) { 
     case (1): 
      Intent i = new Intent(this, Practice.class); 
      startActivity(i); 
      break; 
     } 
     // **************************** above here is where I start the new activity 
    } 

    @Override 
    public void onNothingSelected(AdapterView<?> arg0) { 
     // TODO Auto-generated method stub 

    } 
} 

} 
+0

显示您的logcat它会很容易解决你的问题.. – 2013-04-27 04:22:16

+0

当你说一声,请张贴logcat的跟踪 – Pragnani 2013-04-27 04:24:12

回答

1

使用classname.this参考外部类:

Intent i = new Intent(Abs.this, Practice.class); 
Abs.this.startActivity(i); 
+0

THANKYOU非常多,你不会碰巧知道如何创建一个自定义布局的警报对话,其中有一个微调框,可以做到我上面所问的内容? – user2109242 2013-04-27 04:42:18

+0

@ user2109242我看到你正在尝试使用一个Activity作为对话框,没什么不好。但是您可能想要按照[本教程](http://www.mkyong.com/android/android-custom-dialog-example/)中所示的方式执行自定义警报对话框,而不是教程中显示的按钮,你可以放置一个微调器。 – 2013-04-27 04:49:55

0

您应该替换为以下startActivity(i) -

Abs.this.startActivity(i); 

另外,我看到你的扩展ActivitySpinnerAdapter类。这是需要的吗?