model
public class CreateDingDaoModel {
private IPresenterCreateDingDan iPresenterCreateDingDan;
public CreateDingDaoModel(IPresenterCreateDingDan iPresenterCreateDingDan) {
this.iPresenterCreateDingDan = iPresenterCreateDingDan;
}
public void getData(String createdingdanUrl, String sum, String uid) {
Map<String, String> map = OkHttp3Util.CommonParamsInterceptor.map;
map.put("uid",uid);
map.put("price",sum);
OkHttp3Util.doPost(createdingdanUrl, new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if(response.isSuccessful()){
String json = response.body().string();
if(json != null){
try {
JSONObject obj = new JSONObject(json);
String msg = obj.getString("msg");
String code = obj.getString("code");
//使用接口回调
iPresenterCreateDingDan.onCreateSuccess(msg,code);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
}
});
}
}
presenter
public class CreateDingDanPresenter implements IPresenterCreateDingDan{
private IViewCreateDingDan iViewCreateDingDan;
private final CreateDingDaoModel createDingDaoModel;
public CreateDingDanPresenter(IViewCreateDingDan iViewCreateDingDan) {
this.iViewCreateDingDan = iViewCreateDingDan;
createDingDaoModel = new CreateDingDaoModel(this);
}
public void getData(String createdingdanUrl, String sum, String uid) {
createDingDaoModel.getData(createdingdanUrl,sum,uid);
}
@Override
public void onCreateSuccess(String msg, String code) {
iViewCreateDingDan.onCreateSuccess(msg,code);
}
}
接口
public interface IPresenterCreateDingDan {
void onCreateSuccess(String msg,String code);
}
IView
public interface IViewCreateDingDan {
void onCreateSuccess(String msg,String code);
}
Activity
public class CreateDingDanActivity extends AppCompatActivity implements IViewCreateDingDan{
private TextView shifu;
private TextView load;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_create_ding_dan);
shifu = (TextView) findViewById(R.id.shifu);
load = (TextView) findViewById(R.id.load);
final String sum = getIntent().getStringExtra("sum");
shifu.setText("实付款:¥"+sum);
load.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
CreateDingDanPresenter createDingDanPresenter = new CreateDingDanPresenter(CreateDingDanActivity.this);
createDingDanPresenter.getData(APIUtil.CREATEDINGDAN_URL,sum,"2753");
}
});
}
@Override
public void onCreateSuccess(final String msg, final String code) {
runOnUiThread(new Runnable() {
@Override
public void run() {
if("0".equals(code)){
Toast.makeText(CreateDingDanActivity.this,msg,Toast.LENGTH_SHORT).show();
Intent intent = new Intent(CreateDingDanActivity.this,ShowDingDanActivity.class);
startActivity(intent);
}else{
Toast.makeText(CreateDingDanActivity.this,msg,Toast.LENGTH_SHORT).show();
}
}
});
}
}
布局
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp">
<TextView
android:text="确认订单"
android:textSize="25dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
</RelativeLayout>
<LinearLayout
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal"
android:background="#fff">
<TextView
android:id="@+id/shifu"
android:layout_weight="2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:textColor="#f00"
android:text="实付款"
android:textSize="20dp"
android:gravity="center"/>
<TextView
android:id="@+id/load"
android:text="立即下单"
android:layout_weight="1.5"
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="#f00"
android:textColor="#fff"
android:textSize="25dp"
android:gravity="center"
android:padding="10dp"/>
</LinearLayout>