我已成功从其他数据库中获取数据,并可以在TextView上打印。但是,当我尝试将数据传递到下面的Uri.pase()
时,它会给我null。
public void gotosite(View v) {
s = responseTextView.getText().toString();
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://"+s+""));
startActivity(i);
}
此方法为TextView打印我的预期数据。我想在Uri.parse()
设置数据public void setTextToTextView(JSONArray jsonArray) {
String s = "";
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject json = null;
try {
json = jsonArray.getJSONObject(i);
s = s + json.getString("adUrl");
} catch (JSONException e) {
e.printStackTrace();
}
}
this.responseTextView.setText(s);
}
答案 0 :(得分:0)
您需要全局声明String以在不同方法中使用。确保您首先运行setTextToTextView
方法,然后将gotosite()
方法作为String s=""
运行。
String s; // declare this globally
public void setTextToTextView(JSONArray jsonArray) {
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject json = null;
try {
json = jsonArray.getJSONObject(i);
s = s + json.getString("adUrl");
} catch (JSONException e) {
e.printStackTrace();
}
}
this.responseTextView.setText(s);
}
public void gotosite(View v) {
s=responseTextView.getText().toString(); // either use this or you can now use string s directly
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://"+s+""));
startActivity(i);
}