У меня есть List<Website>
с именем history, который содержит Website
s, простые оболочки для групп String-String-Uri.Теперь этот список должен быть своего рода «историей» для веб-просмотра в упражнении.Проблема в том, что это не работает.Что я делаю сейчас:
Веб-сайт:
public class Webpage implements Serializable {
protected String url;
protected String title;
protected Uri uri;
public Webpage(String title, String url) {
// ...
}
// Getters and other methods
public JSONObject toJSONObject() throws JSONException {
JSONObject jsonObject = new JSONObject();
jsonObject.put("title", this.title);
jsonObject.put("url", this.url);
return jsonObject;
}
public String serialize(int indentationLevel) {
try {
return toJSONObject().toString(indentationLevel);
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
public String serialize() {
return serialize(4);
}
public static Webpage deSerialize(JSONObject object) throws JSONException {
return new Webpage(((String)object.get("title")), ((String)object.get("url")));
}
public static Webpage deSerialize(String jsonObject) throws JSONException {
return deSerialize(new JSONObject(jsonObject));
}
}
WebViewClient:
// ...
@Override public void onPageFinished(WebView view, String urlStr) {
OpenTabsActivity.history
.ensureCapacity(OpenTabsActivity.history.size+2)
OpenTabsActivity.history.add(new Webpage(webView.title, urlStr));
check();
setTitle(webView.title);
loadingBar.setProgress(0);
loadingBar.setVisibility(View.INVISIBLE);
super.onPageFinished(view, urlStr);
}