MainActivity:
package com.baway.firstweek;
import android.content.Intent;
import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;
import com.baway.firstweek.bean.LoginBean;
import com.baway.firstweek.mvp.LoginContract;
import com.baway.firstweek.mvp.LoginPresenter;
import com.google.gson.Gson;
public class MainActivity extends AppCompatActivity implements LoginContract.ILoginView, View.OnClickListener{
private EditText name_edit_login, pwd_edit_login;
private Button button_login;
private CheckBox check;
private LoginPresenter loginPresenter;
public static final String BaseLoginUrl = "http://172.17.8.100/small/user/v1/login";
private SharedPreferences sharedPreferences;
private SharedPreferences.Editor edit;
private Gson gson;
private LoginBean loginBean;
private String name;
private String pwd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.zhuce_login).setOnClickListener(this);
loginPresenter = new LoginPresenter();
loginPresenter.attch(this);
sharedPreferences = getSharedPreferences("mvplogin", MODE_PRIVATE);
edit = sharedPreferences.edit();
init();
boolean checked = check.isChecked();
if (checked){
sharedPreferences.edit().putString("name_edit_login",name)
.putString("pwd_edit_login",pwd)
.commit();
}else {
sharedPreferences.edit().putString("name_edit_login","")
.putString("pwd_edit_login","")
.commit();
}
}
private void init() {
name_edit_login = findViewById(R.id.name_edit_login);
pwd_edit_login = findViewById(R.id.pwd_edit_login);
button_login = findViewById(R.id.button_login);
check = findViewById(R.id.check);
button_login.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
name = name_edit_login.getText().toString();
pwd = pwd_edit_login.getText().toString();
if (!name.isEmpty() && !pwd.isEmpty()) {
check.setChecked(true);
loginPresenter.login(BaseLoginUrl, name, pwd);
}
}
});
}
public void getPreData(String data) {
gson = new Gson();
if (data != null) {
loginBean = gson.fromJson(data, LoginBean.class);
Toast.makeText(this, loginBean.getMessage(), Toast.LENGTH_LONG).show();
if (loginBean.getStatus().equals("0000")) {
edit.putString("pwd", pwd);
edit.commit();
Intent intent = new Intent(MainActivity.this, OneActivity.class);
startActivity(intent);
finish();
}
}
}
@Override
protected void onDestroy() {
super.onDestroy();
loginPresenter.detch();
}
@Override
public void onClick(View v) {
}
}
展示activity:
package com.baway.firstweek;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.FrameLayout;
import android.widget.RadioGroup;
import com.baway.firstweek.fragment.Frag1;
import com.baway.firstweek.fragment.Frag2;
public class OneActivity extends AppCompatActivity {
private Frag1 frag1;
private Frag2 frag2;
private FragmentManager manager;
private RadioGroup radioG;
private FrameLayout vp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_one);
vp = findViewById(R.id.vp);
radioG = findViewById(R.id.rg);
frag1 = new Frag1();
frag2 = new Frag2();
manager = getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.add(R.id.vp, frag1)
.add(R.id.vp, frag2)
.show(frag1)
.hide(frag2)
.commit();
radioG.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
FragmentTransaction transaction1 = manager.beginTransaction();
switch (checkedId) {
case R.id.rb1:
transaction1.show(frag1).hide(frag2);
break;
case R.id.rb2:
transaction1.show(frag2).hide(frag1);
break;
}
transaction1.commit();
}
});
}
}
适配器:listviewAdapter:
package com.baway.firstweek.adapter;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.baway.firstweek.R;
import com.baway.firstweek.bean.ListviewBean;
import com.bumptech.glide.Glide;
import com.bumptech.glide.request.RequestOptions;
import java.util.List;
public class ListviewAdapter extends BaseAdapter {
List<ListviewBean.ResultBean> list;
Context context;
public ListviewAdapter(List<ListviewBean.ResultBean> list, Context context) {
this.list = list;
this.context = context;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = View.inflate(context, R.layout.item, null);
holder = new ViewHolder();
holder.imageView = (ImageView) convertView.findViewById(R.id.imageview_item);
holder.textView = (TextView) convertView.findViewById(R.id.textview_item);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
ListviewBean.ResultBean bean = list.get(position);
holder.textView.setText(bean.getName());
Glide.with(context).load(bean.getLogo())
.apply(RequestOptions.centerCropTransform())
.into(holder.imageView);
return convertView;
}
class ViewHolder{
ImageView imageView;
TextView textView;
}
}
frag1:
package com.baway.firstweek.fragment;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import com.baway.firstweek.R;
import com.baway.firstweek.adapter.ListviewAdapter;
import com.baway.firstweek.bean.ListviewBean;
import com.baway.firstweek.mvp.onemvp.IOneContract;
import com.baway.firstweek.mvp.onemvp.Presenter;
import com.google.gson.Gson;
import java.util.List;
public class Frag1 extends Fragment implements IOneContract.IView {
private ListView listview;
private Presenter presenter;
private Gson gson;
private ListviewBean listviewBean;
private ListviewAdapter adapter;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag1, container, false);
listview = view.findViewById(R.id.listview);
presenter = new Presenter();
presenter.attch(this);
return view;
}
@Override
public void getPresenter(String name) {
gson = new Gson();
listviewBean = gson.fromJson(name,ListviewBean.class);
List<ListviewBean.ResultBean> result=listviewBean.getResult();
adapter = new ListviewAdapter(result, getActivity());
listview.setAdapter(adapter);
}
}
frag2
package com.baway.firstweek.fragment;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.baway.firstweek.R;
public class Frag2 extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag2,container,false);
return view;
}
}