[英]Android If Host 404 show Toast
沒有數據,因為我的服務器宕機了,我想讓烤面包按摩“服務器再試一次”,但是我總是有默認的adnroid 404按摩,例如(Error:404 error loading url somesite.com),但是我需要自己的烤面包來進行展示,不想顯示我的主機名。 我用try cath
我的搜索按鈕:
button_search.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(search_input.getWindowToken(), 0);
msgLoading.show();
runOnUiThread(new Runnable() {
public void run() {
new Thread(new Runnable() {
public void run() {
try {
list_songs = wrzuta_class.search(search_input.getText().toString());
} catch (Throwable e) {
show_error("Error: "+e.getMessage());
}
refresh_list();
}
}).start();
}
});
}
});
我的refresh_list:
public void refresh_list(){
runOnUiThread(new Runnable() {
public void run() {
List<Map<String, String>> data = new ArrayList<Map<String, String>>();
try {
for (song_details song_item_loop : list_songs) {
Map<String, String> datum = new HashMap<String, String>(2);
datum.put("title", song_item_loop.title);
datum.put("url", song_item_loop.url);
datum.put("description", song_item_loop.size);
data.add(datum);
}
} catch (NullPointerException ex) {
Toast.makeText(MainActivity.this,
"server down try again", Toast.LENGTH_LONG).show();
}
我也嘗試過:
public void refresh_list(){
runOnUiThread(new Runnable() {
public void run() {
List<Map<String, String>> data = new ArrayList<Map<String, String>>();
if (list_songs == null || list_songs.size() == 0) {
Toast.makeText(MainActivity.this,
"server down try again", Toast.LENGTH_LONG).show();
} else {
for (song_details song_item_loop : list_songs) {
Map<String, String> datum = new HashMap<String, String>(2);
datum.put("title", song_item_loop.title);
datum.put("url", song_item_loop.url);
datum.put("description", song_item_loop.size);
data.add(datum);
}
}
我仍然有(Error:404 error loading url somesite.com)...如何替換此錯誤
固定:
我補充說:
public void show_error(final String valString){
runOnUiThread(new Runnable() {
public void run() {
Toast.makeText(MainActivity.this,
"server down try again", Toast.LENGTH_LONG).show();
}
});
}
這是因為for循環不會引發異常,因此不會轉到您的捕獲短語。 我建議您在for循環之前檢查是否為空,並在其中顯示吐司消息。
if (list_songs == null || list_songs.size() == 0) {
Toast.makeText(MainActivity.this,
"server down try again", Toast.LENGTH_LONG).show();
return;
}
似乎您在show_error()方法中顯示了吐司。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.