首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android mosby可从演示者查看

Android mosby可从演示者查看
EN

Stack Overflow用户
提问于 2017-06-05 17:24:04
回答 1查看 308关注 0票数 0

我想从presenter访问视图小部件,如TextViewEditText,我该怎么做,

在我的活动main中,我想更改演示者中的scheduleDateTimeNotify文本

代码语言:javascript
复制
public class ActivityChannelContent extends MvpActivity<ActivityChannelContentView, ActivityChannelContentPresenter>
        implements ActivityChannelContentView{

    @BindView(R.id.scheduleDateTimeNotify)
    TextView scheduleDateTimeNotify;

    @NonNull
    @Override
    public ActivityChannelContentPresenter createPresenter() {
        return new ActivityChannelContentPresenterImpl(getApplicationContext());
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_channel_content);
        ButterKnife.bind(this);
    }
}

演示者:

代码语言:javascript
复制
public interface ActivityChannelContentPresenter extends MvpPresenter<ActivityChannelContentView> {
}

ActivityChannelContentPresenterImpl:

代码语言:javascript
复制
public class ActivityChannelContentPresenterImpl extends MvpBasePresenter<ActivityChannelContentView> implements ActivityChannelContentPresenter {
    private final ActivityChannelContentModel model;

    public ActivityChannelContentPresenterImpl(Context context) {
        model = new ActivityChannelContentModel(context);
    }
}

ActivityChannelContentViewModel:

代码语言:javascript
复制
public class ActivityChannelContentViewModel {
    private final Context context;

    public ActivityChannelContentViewModel(Context mContext) {
        context = mContext;
    }
}

ActivityChannelContentView接口:

代码语言:javascript
复制
public interface ActivityChannelContentView extends MvpView {
}
EN

回答 1

Stack Overflow用户

发布于 2017-06-05 17:41:37

我在MVP设计模式上工作过,你可以使用Presenter逻辑在视图中的TextView上设置文本。例如:

代码语言:javascript
复制
public interface MContract {

    interface View{
        void setText(String value)
    }

    interface Presenter extends BasePresenter {
        void addData(String value);
    }
}

public class MPresenter implements MContract.Presenter {
    private MContract.View mView;

    @Override
    public void addData(String value) {
            mView.setText(value);
    }
}

public class Activity extends AppCompatActivity  implements MContract.View {

 @Override
    public void setText(String value) {textview.setText(value);}
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44365698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档