在我的第一个Activity
中,我有一个元素列表,每次单击列表中的一行时,我会从列表中选取两个元素,并将第二个活动的元素传递给Fill A Url。
我在ListView
(如购物车)中分析了JSON的结果,然后是一个按钮,可以让您查看第二个活动的列表,而无需担心URL,只显示元素列表。
问题是当我点击按钮向我显示列表时。我的第二个活动仍在等待填写URL的两个项目,我不希望这样。
我的代码
TextView texto;
texto = (TextView) view.findViewById(R.id.txtCodigo);
String text2 = texto.getText().toString();
Intent intent2= new Intent(busqueda.this,Compra.class);
intent2.putExtra("TOKENS", datas);
intent2.putExtra("CODI", text2);
// startActivity(intent2);
Toast.makeText(busqueda.this,"Agregado...",Toast.LENGTH_LONG).show();
return super.onContextItemSelected(item);
第二项活动
protected String doInBackground(Void... params) {
link = (TextView) findViewById(R.id.textViewNombre);
code = (TextView) findViewById(R.id.textViewNro);
prod = new ArrayList<>();
lista_eligida = (ListView) findViewById(R.id.listView_eligida);
final Intent intent = getIntent();
Bundle extras = intent.getExtras();
String linked = null;
String coded = null;
if (extras != null) {
linked = extras.getString("TOKENS");
coded = extras.getString("CODI");
}
String url = "http://www.air-intra.com/apps/air-app/agregar.php?token=" + linked + "&codiart=" + coded + "";
HttpHandler sh = new HttpHandler();
JSONObject jsonStr = sh.makeServiceCall(url);
Log.e(TAG, "Response from url: " + jsonStr);
try {
JSONObject jsonObj = new JSONObject(String.valueOf(jsonStr));
String nroComp= jsonObj.getJSONObject("PR").getString("nrocompro");
String Nomb= jsonObj.getJSONObject("PR").getString("nombre");
String code= jsonObj.getJSONObject("PR").getString("codigo");
recode=""+code;
reNombre=""+Nomb;
reNumero=""+nroComp;
Log.e("CODE", recode);
JSONArray contacts = jsonObj.getJSONArray("PRR");
for (int i = 0; i < contacts.length(); i++) {
JSONObject c = contacts.getJSONObject(i);
String codig = c.getString("codigo");
String des = c.getString("descrip");
String prec = c.getString("precio");
// String garb = c.getString("fisicolug");
HashMap<String, String> contacto = new HashMap<>();
contacto.put("codigo", codig);
contacto.put("descrip", des);
contacto.put("precio", prec);
//contact.put("fisicolug", garb);
prod.add(contacto);
}
} catch (final JSONException e) {
}
return null;
}
@Override
protected void onPostExecute (String result){
if (pDialog.isShowing())
pDialog.dismiss();
super.onPostExecute(result);
codigo.setText(recode);
nombre.setText(reNombre);
numero.setText(reNumero);
final ListAdapter adapter = new SimpleAdapter(Compra.this, prod,
R.layout.item_carrito, new String[]{"codigo", "descrip", "precio"},
new int[]{R.id.tvcode, R.id.tvdescrip, R.id.tvprec});
lista_eligida.setAdapter(adapter);
}
}