目前我正在处理listview数据传递到另一个活动,当我运行它时,它第一次采取3个listview数据是bagnumber cod和ordernumber并且在我添加子编号并运行时在另一个活动中上传时工作正常然后按下获取按钮以获取列表视图,它不会加载列表
MainActivity.java
public class MainActivity extends Activity {
ListView list;
TextView ver;
TextView name;
TextView api;
TextView sn;
Button Btngetdata;
ArrayList<HashMap<String, String>> oslist = new ArrayList<HashMap<String, String>>();
private static String url = "http://216.185.116.35/LOGISTIC/WebServices/json/getDeliveriItems_bak.ashx?id=485";
private static final String TAG_OS = "android";
private static final String TAG_VER = "BagNumber";
private static final String TAG_NAME = "COD";
private static final String TAG_API = "OrderNo";
private static final String TAG_SON = "Subordernumber";
JSONArray android = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
oslist = new ArrayList<HashMap<String, String>>();
Btngetdata = (Button)findViewById(R.id.getdata);
Btngetdata.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
new JSONParse().execute();
}
});
}
private class JSONParse extends AsyncTask<String, String, JSONObject> {
private ProgressDialog pDialog;
@Override
protected void onPreExecute() {
super.onPreExecute();
ver = (TextView)findViewById(R.id.vers);
name = (TextView)findViewById(R.id.name);
api = (TextView)findViewById(R.id.api);
sn = (TextView)findViewById(R.id.subordernumber);
pDialog = new ProgressDialog(MainActivity.this);
pDialog.setMessage("Getting Data ...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
@Override
protected JSONObject doInBackground(String... args) {
JSONParser jParser = new JSONParser();
JSONObject json = jParser.getJSONFromUrl(url);
return json;
}
@Override
protected void onPostExecute(JSONObject json) {
super.onPostExecute(json);
pDialog.dismiss();
try {
android = json.getJSONArray(TAG_OS);
for(int i = 0; i < android.length(); i++){
JSONObject c = android.getJSONObject(i);
String ver = c.getString(TAG_VER);
String name = c.getString(TAG_NAME);
String api = c.getString(TAG_API);
String Subordernumber = c.getString(TAG_SON);
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_VER, ver);
map.put(TAG_NAME, name);
map.put(TAG_API, api);
map.put(TAG_SON, Subordernumber);
oslist.add(map);
}
} catch (JSONException e) {
e.printStackTrace();
}
list=(ListView)findViewById(R.id.list);
SimpleAdapter adapter = new SimpleAdapter(MainActivity.this, oslist,R.layout.list_v,new String[] { TAG_VER }, new int[] {
R.id.vers});
list.setAdapter(adapter);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String ver = oslist.get(position).get(COD);
String name = oslist.get(position).get(TAG_NAME);
String api = oslist.get(position).get(TAG_API);
String Subordernumber = oslist.get(position).get(TAG_SON);
Intent intent = new Intent(MainActivity.this, YourActivity.class);
intent.putExtra("TAG_NAME", name);
intent.putExtra("TAG_API", api);
intent.putExtra("TAG_SON", Subordernumber);
startActivity(intent);
}
});
}
}
}
YourActivity Class
public class YourActivity extends Activity {
private static final String TAG_NAME = "COD";
private static final String TAG_API = "OrderNo";
private static final String TAG_SON = "Subordernumber";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.itemlistrow);
Intent intent = getIntent();
String COD = getIntent().getStringExtra(TAG_NAME);
String OrderNo = getIntent().getStringExtra(TAG_API);
String Subordernumber = getIntent().getStringExtra(TAG_SON);
TextView lblcodno = (TextView) findViewById(R.id.cod);
TextView lblordernumber = (TextView) findViewById(R.id.ordernumber);
TextView lblsubordernumber = (TextView) findViewById(R.id.subordernumber);
lblsubordernumber.setText(Subordernumber);
lblcodno.setText(COD);
lblordernumber.setText(OrderNo);
}
}
答案 0 :(得分:2)
我相信
String Subordernumber = oslist.get(position).get("TAG_SON");
应该是
String Subordernumber = oslist.get(position).get(TAG_SON);
(TAG_SON
周围没有引号)。