如何将int值传递给另一个类

时间:2010-10-15 20:13:15

标签: java android android-intent

  

可能重复:
  Passing a Int value to another class

我一直试图让“getExtra”工作但没有成功,我有一个列表视图有4个选项在webView类中启动一个网页,当用户选择选项时让我们说选项3我想传递值对于webView类来说,它将加载正确的网页,目前我得到的只是错误,有人可以帮我解决错误。

这是我的意图

         if (position == 0)  {
                Intent intent = new Intent(this, official.class);
                startActivity(intent);intent.putExtra(webb = 3);}

这是官方类中的getextras代码,包含我要加载的网页

Bundle webb = getIntent().getExtras(),

variableGet = webb.getInt(webb);

if (webb == 2)      mWebView.loadUrl("http://bcafc.livewwware.co.uk/viewforum.php?f=7&sid=009c462b00069f307ef6dcd09e747f7c");
  if (webb == 3)   mWebView.loadUrl("http://www.bbc.co.uk");
  mWebView.setWebViewClient(new HelloWebViewClient());

先谢谢

3 个答案:

答案 0 :(得分:3)

“if(position == 0)
{   Intent intent = new Intent(this,official.class);   startActivity(intent); intent.putExtra(webb = 3); }“

你有正确的想法。您希望在开始活动之前初始化您的意图,并获取/设置如下所示的参数:


Intent intent = new Intent(this, official.class); Intent.putExtra("weburl", 3); startActivity(intent);

然后在你开始的活动中,你会得到像这样的“weburl”:


int number = getIntent().getIntExtra("weburl", 0);

if (number == 2) mWebView.loadUrl("http://bcafc....."); else if (number == 3) mWebView.loadUrl("http://www.bbc..");

答案 1 :(得分:0)

再一次,您可能需要发布更多代码才能获得有用的答案。但至少应该将您的第一个代码块重写为:

if (position == 0)  {
    Intent intent = new Intent(this, official.class);
    webb = 3;
    intent.putExtra("webb", webb);
    startActivity(intent);
}

要检索,例如:

int webb = getIntent().getIntExtra("webb", -1);

您可以继续使用捆绑包,但我很惊讶第一个代码块为您编译,我认为这段代码更清晰易懂。无论如何,您需要在开始活动之前设置webb值。

答案 2 :(得分:0)

尝试一下:

Intent intent = new Intent(this, official.class);
intent.putExtra("webb", 3);
startActivity(intent);

然后

Bundle extras = this.getIntent().getExtras();
int webb = extras.getInt("webb");