这是我的代码。
在我的主.java文件中。
public void showQuiz (View view){
Username = (EditText) findViewById(R.id.Username);
String userId = Username.getText().toString();
String deviceId = Secure.getString(this.getContentResolver(),
Secure.ANDROID_ID);
//this intent is used to open other activity wich contains another webView
Intent intent = new Intent(this, Quiz.class);
Bundle bun = new Bundle();
bun.putString("userid",userId);
bun.putString("deviceid", deviceId);
intent.putExtras(bun);
startActivity(intent);
}
这是Activity的.java文件中的内容。
package com.earn.egpt;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
public class Quiz extends Activity {
private static final String url = "http://www.m.s-w-family.com/?subid=";
private static final String url2 = "&deid=";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_quiz);
Bundle extras=getIntent().getExtras();
String userId=extras.getString("userId");
String deviceId=extras.getString("deviceId");
WebView webview;
webview = (WebView) findViewById(R.id.webView1);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl(url+userId+url2+deviceId);
}
}
由于某种原因它将字符串传递为null,但我不知道为什么。我对这种编程非常陌生,所以我甚至都不知道在哪里。我已经查看了与我类似的其他问题并尝试了修复它们,但值仍为空。
答案 0 :(得分:5)
观察变量的大小写。您正在插入“userid”并检索“userId”。
答案 1 :(得分:2)
你偶然使用了一个额外的捆绑包。将附加内容直接放入Intent中:
intent.putExtra("userid", userId);
intent.putExtra("deviceid", deviceId);
startActivity(intent);
现在,您的getString()
方法将在测验中返回您想要的内容。