信息綁定MVP

社交性質的APP中勋又,應該都有用戶换帜。用戶信息展示地方的不同惯驼,會產生很多的樣式。用戶包含很多的信息祟牲、功能说贝。用戶需要展示頭像、名字乡恕,有些需要點擊以后跳轉到用戶詳情傲宜,有些還可以關注用戶,關注成功后其他頁面需要刷新關注狀態(tài)蛋哭。但是樣式的不同也使得展示的信息不同谆趾,有可能這個頁面需要關注按鈕,另一個地方卻只需要一個頭像沪蓬。這就使得碎片化變得很嚴重跷叉,如果要增加有些邏輯就有可能會漏地方营搅,并且數(shù)據(jù)設置也不夠統(tǒng)一梆砸、布局需要多處findviewById。接下來我會通過自己的方法來盡量避免這些問題休蟹,如果有不對的地方請指正日矫。

AUTH 聲明了各種權限哪轿,比如(是否顯示頭像、用戶名窃诉,點擊后是否進入個人主頁飘痛,是否實現(xiàn)關注功能)
M 暫時只是拿來放數(shù)據(jù)
V 實現(xiàn)findviewbyid,以及各種的setText setImage
P 實現(xiàn)onClickListener

實現(xiàn)的功能
1 設置用戶的頭像辅搬、名稱脖旱;
2 在RecyclerView中點擊后跳轉到個人主頁,在個人主頁則不需要跳轉溶褪;
3 實現(xiàn)關注用戶的功能践险;
4 登錄后隱藏自己個人主頁的關注按鈕;

class UserInfoAuth {
    public static final int ICON = 1 << 0;
    public static final int NAME = 1 << 1;
    public static final int CLICK = 1 << 2;
    public static final int FOLLOW = 1 << 3;
    public static final int FOLLOW_DISPEAR = 1 << 4;
}
class UserInfoM {
    private int auth;
    private UserBean;

    UserInfoM(int auth) {
        this.auth = auth;
    }

    public int getAuth() {
        return auth;
    }

    public void setUserBean(UserBean userBean) {
        this.userBean = userBean;
    }

    public UserBean getUserBean() {
        return userBean;
    }
}
class UserBean {
    private String name;
    private String icon;
    private boolean attention;

    public void setName(String name) {
        this.name = name;
    }

    public void getName() {
        return name;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }

    public String getIcon() {
        return icon;
    }

    public void setAttention(boolean attention) {
        this.attention = attention;
    }

    public boolean isAttention() {
        return attention;
    }
}
class UserInfoV {
    TextView nameTV, followTV;
    ImageView imageView;

    public void bindView(int auth, View rootView, OnclickListener listener) {
        if (checkAuth(UserInfoAuth.ICON)) {
            imageView = (ImageView) rootView.findViewById(R.id.image_view)
        }
        if (checkAuth(UserInfoAuth.NAME)) {
            nameTV = (ImageView) rootView.findViewById(R.id.name_TV)
        }
        if (checkAuth(UserInfoAuth.CLICK)) {
            rootView.setOnclickListener(listener);
        }
        if (checkAuth(UserInfoAuth.FOLLOW) {
            followTV.setOnClickListener(listener);
        }
    }

    public boolean checkAuth(int auth, int check) {
        return (auth & check) != 0;
    }

}
class UserInfoP implements {
    UserInfoM userInfoM;
    UserInfoV userInfoV;

    UserInfoP(int auth) {
        userInfoM = new UserInfoM(auth);
        userInfoV = new UserInfoV();
    }

    public void bindView(View rootView) {
        userInfoV.bindView(rootView, userInfoM.getAuth(), this);
    }

    public void setData(UserBean userBean) {
        userInfoV.setData(userBean);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            default:
                //gotoDetail
                break;
        }
    }
}

demo 地址
https://github.com/Billxxxx/BankSMSReader/tree/develop

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末占遥,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子芬萍,更是在濱河造成了極大的恐慌,老刑警劉巖北戏,帶你破解...
    沈念sama閱讀 222,627評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件最欠,死亡現(xiàn)場離奇詭異惩猫,居然都是意外死亡蚜点,警方通過查閱死者的電腦和手機轧房,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,180評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來绍绘,“玉大人奶镶,你說我怎么就攤上這事∨憔校” “怎么了厂镇?”我有些...
    開封第一講書人閱讀 169,346評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長左刽。 經(jīng)常有香客問我捺信,道長,這世上最難降的妖魔是什么欠痴? 我笑而不...
    開封第一講書人閱讀 60,097評論 1 300
  • 正文 為了忘掉前任迄靠,我火速辦了婚禮喇辽,結果婚禮上掌挚,老公的妹妹穿的比我還像新娘。我一直安慰自己菩咨,他們只是感情好吠式,可當我...
    茶點故事閱讀 69,100評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著抽米,像睡著了一般特占。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上云茸,一...
    開封第一講書人閱讀 52,696評論 1 312
  • 那天摩钙,我揣著相機與錄音,去河邊找鬼查辩。 笑死胖笛,一個胖子當著我的面吹牛网持,可吹牛的內容都是我干的。 我是一名探鬼主播长踊,決...
    沈念sama閱讀 41,165評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼功舀,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了身弊?” 一聲冷哼從身側響起辟汰,我...
    開封第一講書人閱讀 40,108評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎阱佛,沒想到半個月后帖汞,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,646評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡凑术,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,709評論 3 342
  • 正文 我和宋清朗相戀三年翩蘸,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片淮逊。...
    茶點故事閱讀 40,861評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡催首,死狀恐怖,靈堂內的尸體忽然破棺而出泄鹏,到底是詐尸還是另有隱情郎任,我是刑警寧澤,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布备籽,位于F島的核電站舶治,受9級特大地震影響,放射性物質發(fā)生泄漏车猬。R本人自食惡果不足惜歼疮,卻給世界環(huán)境...
    茶點故事閱讀 42,196評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望诈唬。 院中可真熱鬧韩脏,春花似錦、人聲如沸铸磅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,698評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽阅仔。三九已至吹散,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間八酒,已是汗流浹背空民。 一陣腳步聲響...
    開封第一講書人閱讀 33,804評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人界轩。 一個月前我還...
    沈念sama閱讀 49,287評論 3 379
  • 正文 我出身青樓画饥,卻偏偏與公主長得像,于是被迫代替她去往敵國和親浊猾。 傳聞我的和親對象是個殘疾皇子抖甘,可洞房花燭夜當晚...
    茶點故事閱讀 45,860評論 2 361

推薦閱讀更多精彩內容

  • 發(fā)現(xiàn) 關注 消息 iOS 第三方庫、插件葫慎、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,124評論 4 61
  • 每天進步一點點點點點點點點點點點點點點點點點點點點點點點點點點點點點點~~從開始只能寫幾句話衔彻、模仿別人的觀點,到現(xiàn)...
    一個帥氣的名字呀閱讀 18,106評論 4 31
  • 鐘一開始轉動就不會停止偷办,就像生命的齒輪一樣無止境的轉動艰额,有意義的是一天,無意義的也是一天椒涯。那么柄沮,人,是為了什么...
    影兮夜安閱讀 200評論 0 0
  • 我可以在河對岸繞過地球一周去找你 但就是跨不過這條河 我可以從新疆到塔什干到希臘到安道爾 但就是不能繞過濟南去愛連...
    一首詩和小H閱讀 178評論 3 1