これに見えるアクティビティから渡した文字列があります
@Override
public void onClick(View v) {
......
String searchTerm = et.getText().toString().trim();
Intent in = new Intent(PassingString.this, RecieveString.class);
in.putExtra("TAG_SEARCH", searchTerm);
startActivity(in);
私の他のアクティビティでは、これがこの文字列を受け取り、Web アドレスにエンコードする方法です。(et
疑問に思っている場合に備えて、私の editText です)
@Override
protected JSONObject doInBackground(String... args) {
....
Intent in = getIntent();
String searchTerm = in.getStringExtra("TAG_SEARCH");
String query = URLEncoder.encode(searchTerm, "utf-8");
String URL = "http://example.com"+ query + "json";
この文字列を受け取るコードをdoInbackGround
メソッドから移動しようとしていますが、処理が遅くなり、Intent in = getIntent();String searchTerm = in.getStringExtra("TAG_SEARCH");
下に移動すると(asynctask にあるもの) のonCreate
下に「searchTerm を解決できない」という構文エラーが表示されます。searchTerm
変数"。Intent in = getIntent();String searchTerm = in.getStringExtra("TAG_SEARCH");
hasを宣言しようとしまし たがfinal
、何も変わりません。入れてみましたonPreExecute
が、やはり変わりません。誰かがこの致命的な構文エラーを解決するのを手伝ってくれませんか
ここに文字列を受け取っているアクティビティがあります
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.listview);
Intent in = getIntent();
String searchTerm = in.getStringExtra("TAG_SEARCH");
questionList = new ArrayList<HashMap<String, String>>();
mTask = new LoadAllData();
mTask.execute();
}
@Override
public void onBackPressed()
{
/** If user Pressed BackButton While Running Asynctask
this will close the ASynctask.
*/
if (mTask != null && mTask.getStatus() != AsyncTask.Status.FINISHED)
{
mTask.cancel(true);
}
super.onBackPressed();
}
@Override
protected void onDestroy() {
if (mTask != null && mTask.getStatus() != AsyncTask.Status.FINISHED)
{
mTask.cancel(true);
}
super.onDestroy();
}
@Override
protected void onPause() {
if (pDialog != null)
{
if(pDialog.isShowing())
{
pDialog.dismiss();
}
super.onPause();
}
}
class LoadAllData extends AsyncTask<String, Void, JSONObject> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(ListView.this);
pDialog.setMessage("Loading Data. Please wait...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
@Override
protected JSONObject doInBackground(String... args) {
JSONObject json = new JSONObject();
try {
String query = URLEncoder.encode(searchTerm, "utf-8");
String URL = "http://example.com"+ query + "json";
JSONParsser jParser = new JSONParsser();
json = jParser.readJSONFeed(URL);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return json;
}