首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法通过单击按钮使用意图

无法通过单击按钮使用意图
EN

Stack Overflow用户
提问于 2014-02-06 21:15:54
回答 2查看 71关注 0票数 0

请帮助我了解如何使用Intent。通过代码中的这个“意图”使用,我无法获得下一个所需的活动,如下所示

代码语言:javascript
运行
复制
     public class GetIn extends Activity {
EditText editName;
EditText editPsscd;
EditText editSport;
EditText editTeam;
Button button;
final Context context = this;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_get_in);
    button = (Button)findViewById(R.id.button1);
    editName = (EditText)findViewById(R.id.editText1);
    editPsscd = (EditText)findViewById(R.id.editText2);
    editSport = (EditText)findViewById(R.id.editText3);
    editTeam = (EditText)findViewById(R.id.editText4);
    button.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            Intent intent = new Intent(context,Success.class);

            intent.putExtra("Name",editName.getText().toString());
            intent.putExtra("Passcode",editPsscd.getText().toString());
            intent.putExtra("Sports",editSport.getText().toString());
            intent.putExtra("Team", editTeam.getText().toString());
            startActivity(intent);
        }
    });
}

上下文的使用在这里有效吗?这是"Success.java“文件

代码语言:javascript
运行
复制
    public class Success extends GetIn {
public void onCreate(Bundle savedInstanceState){
    TextView textName;
    TextView textSport;
    TextView textTeam;

    super.onCreate(savedInstanceState);
    setContentView(R.layout.success);

    Intent intent = getIntent();
    textName=(TextView)findViewById(R.id.textView1);
    textName.setText("Your name is "+intent.getStringExtra("Name").toString());
    textSport=(TextView)findViewById(R.id.textView2);
    textSport.setText("Your Favourite sports is "+intent.getStringExtra("Sport").toString());
    textTeam=(TextView)findViewById(R.id.textView3);
    textTeam.setText("Your Favourite team is "+intent.getStringExtra("Team").toString());

}

}

EN

回答 2

Stack Overflow用户

发布于 2014-02-06 21:17:40

你应该替换掉这个

代码语言:javascript
运行
复制
Intent intent = new Intent(context,Success.class);

使用

代码语言:javascript
运行
复制
Intent intent = new Intent(GetIn.this,Success.class);
Bundle b = new Bundle();
b.putString("Name here",editName.getText().toString());
b.putString("Passcode here",editPsscd.getText().toString());
b.putString("Sports here",editSport.getText().toString());
b.putString("Team here",editTeam.getText().toString());
intent.putExtra(b);
startActivity(intent);

manifest.xml中注册Success活动

和into Success Activity获取Intent值,如

代码语言:javascript
运行
复制
 Bundle b = getIntent().getExtras();
 String Name=b.getString("Name here"); 
 String Passcode=b.getString("Passcode here");
 String Sports=b.getString("Sports here");
 String Team =b.getString("Team here");
票数 4
EN

Stack Overflow用户

发布于 2014-02-06 22:24:37

代码语言:javascript
运行
复制
Intent intent = new Intent(this, DisplayMessageActivity.class);

Context作为其第一个参数(使用this是因为Activity类是Context的子类)

也要改变这个

代码语言:javascript
运行
复制
public class Success extends GetIn

代码语言:javascript
运行
复制
public class Success extends Activity
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21604083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档