日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android继承父类的界面,Android调用父类方法,进行子界面刷新

發布時間:2025/3/12 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android继承父类的界面,Android调用父类方法,进行子界面刷新 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

偶然遇到一個需求、有幾個主界面需要獲取消息的未讀數量

由于不是所有類都調用、調用的次數又比較多,整的不上不下的

1、對于方法調用次數比較少的 推薦廣播

廣播的方法很方便、但是一堆的消息接收、發送很模式化

2、對于較多的方法調用 個人建議直接寫共用類中

此方法通常用于數據處理、對接復雜界面處理頗感無力

3、結合父類、根據實際情況調用

今天介紹的就是通過接口調用 選擇獲取消息數量方法

首先介紹下主邏輯、即在子類調用父類方法、并將子類handler傳入父類、進行數據返回

子類主要代碼:

protected void onResume() {

// TODO Auto-generated method stub

if (app.jkNeedReadNum)

getNoReadNum(app.userid, handler);

super.onResume();

}

private Handler handler = new Handler() {

/*

* (non-Javadoc)

*

* @see android.os.Handler#handleMessage(android.os.Message)

*/

@Override

public void handleMessage(Message msg) {

// TODO Auto-generated method stub

switch (msg.what) {

case GET_NUM_SUCCESS:

String count = (String) msg.obj;

badge1.setText(count);

badge1.show();

break;

case GET_NUM_CANCLE:

badge1.hide();

break;

}

}

};

父類主要代碼:

// 獲取未閱讀數量

public void getNoReadNum(long user_id, Handler handler) {

RequestParams params = new RequestParams();

params.put("user_id", user_id + "");

HttpConnection.mesNoreadSum(params, new NumAsyncHttpResponseHandler(

handler));

}

class NumAsyncHttpResponseHandler extends AsyncHttpResponseHandler {

Handler handler;

public NumAsyncHttpResponseHandler(Handler handler) {

this.handler = handler;

}

@Override

public void onStart() {

// TODO Auto-generated method stub

app.jkNeedReadNum = false;

super.onStart();

}

/*

* (non-Javadoc)

*

* @see com.emotte.result.AsyncHttpResponseHandler#onFinish()

*/

@Override

public void onFinish() {

// TODO Auto-generated method stub

app.jkNeedReadNum = true;

super.onFinish();

}

/*

* (non-Javadoc)

*

* @see

* com.emotte.result.AsyncHttpResponseHandler#onSuccess(java.lang.String

* )

*/

@Override

public void onSuccess(String content) {

// TODO Auto-generated method stub

app.jkNeedReadNum = true;

try {

// JSONObject obj = new JSONObject(content);

// String result = obj.optString("success");

// if (result != null || "0".equals(result)) {

// String count = obj.optString("count");

//

String count = "22";

System.out.println(count);

if (count != null && Integer.parseInt(count) > 0) {

Message m = handler.obtainMessage();

m.what = GET_NUM_SUCCESS;

m.obj = count;

handler.sendMessage(m);

} else {

Message m = handler.obtainMessage();

m.what = GET_NUM_CANCLE;

handler.sendMessage(m);

}

// }

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

super.onSuccess(content);

}

/*

* (non-Javadoc)

*

* @see

* com.emotte.result.AsyncHttpResponseHandler#onFailure(java.lang.Throwable

* , java.lang.String)

*/

@Override

public void onFailure(Throwable error, String content) {

// TODO Auto-generated method stub

app.jkNeedReadNum = true;

super.onFailure(error, content);

}

};

為了不重復調用、此處定義了全局變量用于判斷。

DEMO下載地址:

http://www.kuaipan.cn/file/id_28743136620627165.htm?source=1

總結

以上是生活随笔為你收集整理的android继承父类的界面,Android调用父类方法,进行子界面刷新的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。