小编DGK*_*son的帖子

Android MVP架构标准,用于使用具有android资源的Model类加载UI

我在我的应用程序中遵循MVP架构.我的HomeActivity包含一个带有列表图标的滑动面板,其中包含选择器,选择滑动面板项目时图标状态已更改,我没有使用任何列表选择器.

我保留了一个模型类NavItemData,用于填充导航抽屉,并使用扩展StateListDrawable 的类SlidingPanelItemSelector为滑动面板图标生成适当的选择器.

在MVP架构中,我们有一个演示者类,它与模型通信并生成视图的输入.在我的情况下,如果我使用演示者获取滑动面板的数据我正在调用使用Android上下文的演示者的类是一个很好的方法,或者我们有任何替代解决方案,严格遵循MVP架构?

目前我正在使用ViewBinderUtils类并将其直接注入活动类并获取Sliding Panel的数据列表.它是否遵循Mvp Architcture?

SlidingPanelItemSelector.class

public class SlidingPanelItemSelector extends StateListDrawable {
    private Context mContext;

    public SlidingPanelItemSelector(Context mContext){
        this.mContext = mContext;
    }

    public StateListDrawable getHomeSelector(){
    StateListDrawable stateListDrawable = new StateListDrawable();
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            stateListDrawable.addState(new int[]{android.R.attr.state_pressed},
                mContext.getDrawable(R.drawable.ic_nav_home_active));
            stateListDrawable.addState(new int[]{},mContext.getDrawable(R.drawable.ic_nav_home));
        }else{
            stateListDrawable.addState(new int[]{android.R.attr.state_pressed},
                mContext.getResources().getDrawable(R.drawable.ic_nav_home_active));
            stateListDrawable.addState(new int[]{},mContext.getResources().getDrawable(R.drawable.ic_nav_home));
        }

        return stateListDrawable;
    }
}
Run Code Online (Sandbox Code Playgroud)

ViewBinderUtils.class

public class ViewDataBinderUtils {
    Context mContext;
    @Inject
    public ViewDataBinderUtils(@ActivityContext Context mContext) {
        this.mContext = mContext;
    }
    public …
Run Code Online (Sandbox Code Playgroud)

mvp android android-layout android-selector navigation-drawer

10
推荐指数
1
解决办法
1014
查看次数