时间:2021-07-01 10:21:17 帮助过:38人阅读
我建了一个app,在应用程序中,当点击按钮时就发送一个字符串给下一个activity,在第二个activity中我用这个值从数据库中检索数据。
下边是代码
Intent myIntent = getIntent(); // 从前一个activity中获得值myIntent.getStringExtra("lbl_name");postParameters = new ArrayList();postParameters.add(new BasicNameValuePair("product", lbl_name//传递name给database .getText().toString()));
问题是它不会继承lbl_name
我在网上找了很久,但是都没有找到解决方法。麻烦告诉我一下这么做对不对?
传递值的代码.
Intent myIntent = new Intent(SinglePlaceActivity.this,RecoProd.class); myIntent.putExtra("lbl_name", "lbl_name"); SinglePlaceActivity.this.startActivity(myIntent);
访问数据库的代码.
public class RecoProd extends Activity { EditText pd; TextView error; ArrayList postParameters; /** 当activity第一次被创建的时候调用 */ @Override public void onCreate(Bundle savedInstanceState) { try { Class> strictModeClass = Class.forName("android.os.StrictMode", true, Thread.currentThread() .getContextClassLoader()); Class> threadPolicyClass = Class.forName("android.os.StrictMode$ThreadPolicy", true, Thread .currentThread().getContextClassLoader()); Class> threadPolicyBuilderClass = Class.forName("android.os.StrictMode$ThreadPolicy$Builder", true, Thread.currentThread().getContextClassLoader()); Method setThreadPolicyMethod = strictModeClass.getMethod("setThreadPolicy", threadPolicyClass); Method detectAllMethod = threadPolicyBuilderClass.getMethod("detectAll"); Method penaltyMethod = threadPolicyBuilderClass.getMethod("penaltyLog"); Method buildMethod = threadPolicyBuilderClass.getMethod("build"); Constructor> threadPolicyBuilderConstructor = threadPolicyBuilderClass.getConstructor(); Object threadPolicyBuilderObject = threadPolicyBuilderConstructor.newInstance(); Object obj = detectAllMethod.invoke(threadPolicyBuilderObject); obj = penaltyMethod.invoke(obj); Object threadPolicyObject = buildMethod.invoke(obj); setThreadPolicyMethod.invoke(strictModeClass, threadPolicyObject); } catch (Exception ex) { String TAG = null; Log.w(TAG, ex); } super.onCreate(savedInstanceState); setContentView(R.layout.recomain); Intent myIntent = getIntent(); // 从前一个activity中获得值 String lbl_name= myIntent.getStringExtra("lbl_name");//< 从intent中获得 pd = (EditText) findViewById(R.id.name); error = (TextView) findViewById(R.id.showresult); postParameters = new ArrayList(); postParameters.add(new BasicNameValuePair("product", lbl_name )); // String valid = "1"; DownloadWebPageTask dw = new DownloadWebPageTask(); dw.execute(""); } private class DownloadWebPageTask extends AsyncTask { @Override protected String doInBackground(String... urls) { String response = null; for (String url : urls) { try { response = CustomHttpClient.executeHttpPost("http://192.168.1.7/abc/check2.php", postParameters); String res = response.toString(); // res = res.trim(); res = res.replaceAll("\\s+", ""); // error.setText(res); try{ res = ""; JSONArray jArray = new JSONArray(res); for(int i=0;i
输出 res += "\n" + json_data.getInt("prod_id") + " -> "+ json_data.getString("prod_name"); } } catch(JSONException e){ Log.e("log_tag", "Error parsing data "+e.toString()); } try{ error.setText(res); } catch(Exception e){ Log.e("log_tag","Error in Display!" + e.toString());; } } catch (Exception e) { Log.e("log_tag","Error in http connection!!" + e.toString()); } } return response; } @Override protected void onPostExecute(String result) { } }}