2012-02-25 106 views
0
package nidhin.survey; 

import android.app.Activity; 
import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.*; 
import android.os.Bundle; 
import android.widget.CheckBox; 
import android.widget.CompoundButton; 
import android.widget.RadioGroup; 
import android.widget.CompoundButton.OnCheckedChangeListener; 
import android.widget.TextView; 

public class SurveyActivity extends Activity implements OnCheckedChangeListener 

{ 
CheckBox cb; 
String myChoice; 

RadioButton radio1; 
RadioButton radio2; 
RadioButton radio3; 
RadioButton radio4; 
RadioGroup rg; 
EditText text1; 
Button button1; 
Button button2; 

public void onCreate(Bundle savedInstanceState) 

{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    cb=(CheckBox)findViewById(R.id.check); 
    cb.setOnCheckedChangeListener(this); 
    RadioGroup rg=(RadioGroup)findViewById(R.id.rg); 
    radio1=(RadioButton)findViewById(R.id.radio1); 
    radio2=(RadioButton)findViewById(R.id.radio2); 
    radio3=(RadioButton)findViewById(R.id.radio3); 
    radio4=(RadioButton)findViewById(R.id.radio4); 
    // rg.setOnCheckedChangeListener(this); 
    rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { 

     public void onCheckedChanged(RadioGroup group, int checkedId) { 

      switch(checkedId) 
      { 
      case R.id.radio1: 
       myChoice = "one"; 
       text1.setText(myChoice); 
       break; 
      case R.id.radio2: 
       myChoice = "two"; 
       text1.setText(myChoice); 
       break; 
      case R.id.radio3: 
       myChoice = "three"; 
       text1.setText(myChoice); 
       break; 
      case R.id.radio4: 
       myChoice = "four"; 
       text1.setText(myChoice); 
       break; 
      } 

     } 
    }); 
    text1=(EditText)findViewById(R.id.etext1); 
    text1.setText(myChoice); 
    button1 = (Button) findViewById(R.id.button01); 
    button1.setOnClickListener(new clicker()); 
    button2 = (Button) findViewById(R.id.button02); 
    button2.setOnClickListener(new clicker()); 
} 

    public void onCheckedChanged(CompoundButton buttonView, 
    boolean isChecked) 
    { 
     if (isChecked) 
      { 
      cb.setText("Yes , I have a car!"); 
      } 
     else 
      { 
      cb.setText(" "); 
      } 

        if (isChecked) { 
        TextView tv= new TextView (this); 
        tv.setText("You have a car , nice!"); 
         } 
    } 


     class clicker implements Button.OnClickListener 
     { 
       public void onClick(View v) 
       {       
        if(v==button1) 
        { 
         text1.setText(myChoice); 
         Toast.makeText(getBaseContext(), 

          "~~~~Successfully submitted~~~", 
          Toast.LENGTH_LONG).show(); 
        } 

         if(v==button2) 
        { 
         Intent viewDataIntent = new Intent(this, Survey2.class); 
         String myData = "You should see this"; 
         viewDataIntent.putExtra("valueOne", myData); 
         startActivity(viewDataIntent); 
        } 
       } 
     } 



} 

您好,这似乎是一个简单的问题,但我无法找到解决方案。我试图从我的Android应用程序中的一个活动传递给另一个。所以当第二个按钮被点击时,程序必须加载新的活动。我得到的错误是与行 - Intent viewDataIntent = new Intent(this,Survey2.class);它表示构造函数Intent(SurveyActivity.clicker,Class)未定义。有任何想法吗?当从一项活动传递给另一项活动时的意图问题

回答

1

注意你正在创造新的意图对象到View.OnClickListener类,所以这是OnClickListener的参考,而

公众意向(上下文packageContext,类CLS)需要上下文对象作为第一个参数,这样做反而:

Intent viewDataIntent = new Intent(v.getContext(), Survey2.class); 
         String myData = "You should see this"; 
         viewDataIntent.putExtra("valueOne", myData); 
         startActivity(viewDataIntent); 

Intent viewDataIntent = new Intent(SurveyActivity.this, Survey2.class); 
         String myData = "You should see this"; 
         viewDataIntent.putExtra("valueOne", myData); 
         startActivity(viewDataIntent); 
+0

这是真正有用的,谢谢! – 2012-02-25 14:48:47

3
Intent viewDataIntent = new Intent(this, Survey2.class); 

应该

Intent viewDataIntent = new Intent(SurveyActivity.this, Survey2.class); 

因为SurveyActivity.this是你的实际Context

+0

这是真正的帮助,使SurveyActivity.this作为上下文是关键 – 2012-02-25 14:49:14

3

意图viewDataIntent =新意图(getApplicationContext(),Survey2.class);

startActivity(viewDataIntent);

相关问题