2012-06-15 33 views
2

所以我正在開發一個Android應用程序,並且在過去的幾天中我有java.lang.VerifyError
我在一個stackoverflow帖子閱讀,這個錯誤是由於在返回問題(預期回報不是它得到的)。Android:java.lang.VerifyError因爲泛型類

所以我相信這是由於泛型類被鑄成一個字符串,我希望有人有一個解決方案!

這是通用類:

public class ProcessJson { 
public enum MessageType{ 
    GetAppName, 
    GetItemsList 
} 
public static Object ProcessResult(MessageType messageType, String result) throws MalformedJsonException{ 
    Gson gson = new Gson(); 
    Object returnValue = null; 

    switch(messageType){ 
    case GetAppName : 
     returnValue = gson.fromJson(result, String.class); 
     return returnValue; 
    case GetItemsList : 
     returnValue = gson.fromJson(result, Item[].class); 
     return returnValue; 
    } 

    return null; 
} 
} 

這裏就是我投類:

public void LoginBtn_OnClick(View v){ 
    ItemAdapter adapter = (ItemAdapter)this.itemListView.getAdapter(); 
    //Clearing the ListView 
    if(adapter != null) { 
     this.itemListView.setAdapter(null); 
    } 
    //Fetch the AplicationName 
    String username = this.editTextUsername.getText().toString(); 
    String appName = RESTClient.connect("ip/DevTest/WcfApi/Api1.svc/api1/appName", username); 

    try { 
     appName = (String)ProcessJson.ProcessResult(MessageType.GetAppName, appName); 
     appNameTextView.setText("Logged in as: " + appName); 
    } catch (MalformedJsonException e) { 
     e.printStackTrace(); 
     appNameTextView.setText("Cannot Login"); 
    } 
    catch (JsonSyntaxException e){ 
     e.printStackTrace(); 
     appNameTextView.setText("Cannot Login"); 
    } 

    //Fetch the itemList 
    String itemList = RESTClient.connect("ip/DevTest/WcfApi/Api1.svc/api1/items", username); 
    try{ 
     Item[] items = (Item[])ProcessJson.ProcessResult(MessageType.GetItemsList, itemList); 
     //Binding itemList to UI 
     //ItemAdapter itemAdapter = new ItemAdapter(this, R.layout.item_row, items); 
     //this.itemListView.setAdapter(itemAdapter); 

    } catch (MalformedJsonException e) { 
     e.printStackTrace(); 
     appNameTextView.setText("Cannot Login"); 
    } 
    catch (JsonSyntaxException e){ 
     e.printStackTrace(); 
     appNameTextView.setText("Cannot Login"); 
    } 
} 

我管理,以避免碰撞,當我把兩個嘗試/ catch塊作爲評論。這導致我認爲問題是由於ProcessJson類造成的。

在此先感謝。

+0

沒人? :/我已經做了一些測試,我試圖看到代碼中編譯器停止了哪一點,但實際上它甚至都沒有到達代碼的開頭,它甚至在開始執行之前就崩潰了。 –

回答

0

嘗試this解決方法,它可能會解決您的問題。