У меня проблема с моим кодом, и я не могу его найти! Ошибка ... Приложение неожиданно остановилось! Я понятия не имею, что происходит. (Я также начинающий DevAndroid)
Моя первая вкладка работает нормально, но когда я переключаюсь на вторую с помощью ArrayList Hashmap, она вылетает.
Вот мой код BonuriActivity:
public class BonuriActivity extends ListActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tab_bonuri);
final String url="http://xxxzzz/throwdata.php?p=bonuri";
ListView lv = (ListView) findViewById(android.R.id.list);
SimpleAdapter adapter = new SimpleAdapter(BonuriActivity.this,
getBonuri(url), R.layout.list_bon,
new String[] {"Produs", "Cantitate", "UM", "IdVinzare"},
new int[] { R.id.Produs, R.id.Cantitate, R.id.UM, R.id.IdVinzare });
lv.setAdapter(adapter);
}
private ArrayList<HashMap<String,String>> getBonuri(String KEY_121) {
InputStream is = null;
String result = "";
HashMap<String,String> entitiesHashMap = new HashMap<String, String>();
ArrayList<HashMap<String, String>> returnString = new ArrayList<HashMap<String,String>>();
//http post
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(KEY_121);
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}catch(Exception e){
Log.e("log_tag", "Error in http connection "+e.toString());
}
//convert response to string
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result=sb.toString();
}catch(Exception e){
Log.e("log_tag", "Error converting result "+e.toString());
}
//parse json data
try{
JSONArray jArray = new JSONArray(result);
for(int i=0;i<jArray.length();i++){
JSONObject json_data = jArray.getJSONObject(i);
//Get an output to the screen
entitiesHashMap.put("Produs", json_data.getString("Produs"));
entitiesHashMap.put("Cantitate", json_data.getString("Cantitate"));
entitiesHashMap.put("UM", json_data.getString("UM"));
entitiesHashMap.put("IdVinzare", json_data.getString("IdVinzare"));
returnString.add(entitiesHashMap);
}
}catch(JSONException e){
Log.e("log_tag", "Error parsing data "+e.toString());
}
return returnString;
}
}
А вот и мой TabBonuri.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:id="@+id/tab2Layout">
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</ListView>
</LinearLayout>
И мой list_bon.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearView xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:id="@+id/UM"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="UM"
android:textSize="16sp"
>
</TextView>
<TextView
android:id="@+id/Cantitate"
android:layout_width="wrap_content"
android:layout_height="21px"
android:padding="10dp"
android:text="Cantitate"
android:textSize="16sp"
>
</TextView>
<TextView
android:id="@+id/Produs"
android:layout_width="121px"
android:layout_height="22px"
android:padding="10dp"
android:text="Produs"
android:textSize="16sp"
>
</TextView>
<TextView
android:id="@+id/IdVinzare"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"
android:text="TextView"
/>
</LinearView>
Благодарю вас за то, что вы уделили мне время.
Пожалуйста, прокомментируйте, если вы видите, почему моя программа дает сбой, потому что я уже напуган этим (пробовал 2 дня, это расстраивает).