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)是未定义的。有什么想法吗?
答案 0 :(得分:3)
Intent viewDataIntent = new Intent(this, Survey2.class);
应该是
Intent viewDataIntent = new Intent(SurveyActivity.this, Survey2.class);
因为SurveyActivity.this
是您的实际Context
。
答案 1 :(得分:3)
Intent viewDataIntent = new Intent(getApplicationContext(),Survey2.class);
startActivity(viewDataIntent);
答案 2 :(得分:1)
注意,您正在View.OnClickListener类中创建新的Intent对象,因此这是OnClickListener的引用,而
public Intent(Context packageContext,Class 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);