Android mosby从演示者访问视图
我想从presenter访问查看窗口小部件,如Android mosby从演示者访问视图,android,mosby,Android,Mosby,我想从presenter访问查看窗口小部件,如TextView或EditText,我该怎么做 在我的活动主界面中,我想更改演示者的scheduleDateTimeNotify文本 public class ActivityChannelContent extends MvpActivity<ActivityChannelContentView, ActivityChannelContentPresenter> implements ActivityChannelCon
TextView
或EditText
,我该怎么做
在我的活动主界面中,我想更改演示者的scheduleDateTimeNotify
文本
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);
}
}
ActivityChannel内容视图界面:
public interface ActivityChannelContentView extends MvpView {
}
我研究过MVP设计模式,您可以使用Presenter逻辑在视图中的TextView上设置文本。例如:
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);}
}
此解决方案不是基于
mosby
@NimishaV私有MContract代码>-您是如何实例化mView的?
public class ActivityChannelContentViewModel {
private final Context context;
public ActivityChannelContentViewModel(Context mContext) {
context = mContext;
}
}
public interface ActivityChannelContentView extends MvpView {
}
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);}
}