package com.example.erzhoukaomoni;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.Toast;
import com.example.erzhoukaomoni.bean.User;
import com.example.erzhoukaomoni.presenter.PresenterImpl;
import com.example.erzhoukaomoni.view.Iview;
import com.umeng.socialize.UMAuthListener;
import com.umeng.socialize.UMShareAPI;
import com.umeng.socialize.bean.SHARE_MEDIA;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MainActivity extends AppCompatActivity implements View.OnClickListener,Iview {
private String mUrl = "";
private EditText Edit_Name;
private EditText Edit_Pass;
private Button Send_btn;
private Button San_Deng_btn;
private PresenterImpl presenter;
private int type=1;
private SharedPreferences mShared;
private SharedPreferences.Editor mEditor;
private CheckBox rem_pw;
private CheckBox auto_login;
private String name;
private String pass;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
presenter = new PresenterImpl(this);
mShared = getSharedPreferences("nnn",MODE_PRIVATE);
mEditor = mShared.edit();
if(mShared.getBoolean("ISCHECK",false)){
rem_pw.setChecked(true);
Edit_Name.setText(mShared.getString("USER_NAME",""));
Edit_Pass.setText(mShared.getString("PASSWORD",""));
if(mShared.getBoolean("AUTO_ISCHECK",false)){
auto_login.setChecked(true);
startActivity(new Intent(MainActivity.this,Main2Activity.class));
}
}
rem_pw.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(rem_pw.isChecked()){
mShared.edit().putBoolean("ISCHECK",true).commit();
Toast.makeText(MainActivity.this,"記住密碼已選中",Toast.LENGTH_SHORT).show();
}else{
mShared.edit().putBoolean("ISCHECK",false).commit();
Toast.makeText(MainActivity.this,"記住密碼沒有選中",Toast.LENGTH_SHORT).show();
}
}
});
auto_login.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(auto_login.isChecked()){
Toast.makeText(MainActivity.this,"自動登錄已選中",Toast.LENGTH_SHORT).show();
mShared.edit().putBoolean("AUTO_ISCHECK",true).commit();
}else{
mShared.edit().putBoolean("AUTO_ISCHECK",true).commit();
Toast.makeText(MainActivity.this,"自動登錄沒有選中",Toast.LENGTH_SHORT).show();
}
}
});
}
private void initView() {
Edit_Name = (EditText) findViewById(R.id.Edit_Name);
Edit_Pass = (EditText) findViewById(R.id.Edit_Pass);
Send_btn = (Button) findViewById(R.id.Send_btn);
San_Deng_btn = (Button) findViewById(R.id.San_Deng_btn);
rem_pw = findViewById(R.id.Ji_Box);
auto_login = findViewById(R.id.Zi_Box);
Send_btn.setOnClickListener(this);
San_Deng_btn.setOnClickListener(this);
// San_Deng_btn.setOnClickListener(new View.OnClickListener() {
// @Override
// public void onClick(View v) {
//
// UMShareAPI.get(MainActivity.this).getPlatformInfo(MainActivity.this, SHARE_MEDIA.QQ, authListener);
// }
// });
}
public static boolean isMobile(String mobile) {
// "[1]"代表第1位爲數字1,"[358]"代表第二位可以爲3、5、8中的一個,"\\d{9}"代表後面是可以是0~9的數字,有9位。
String regex = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$";
Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(mobile);
return m.matches();
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.Send_btn:
name = Edit_Name.getText().toString().trim();
pass = Edit_Pass.getText().toString().trim();
boolean isMobile=isMobile(name);
if(name.isEmpty()|| pass.isEmpty()){
Toast.makeText(this,"賬號密碼不能爲空",Toast.LENGTH_SHORT).show();
}else{
if(!isMobile){
Toast.makeText(this,"請輸入正確手機號",Toast.LENGTH_SHORT).show();
}
mUrl="http://www.xieast.com/api/user/login.php?username="+ name +"&password="+ pass;
presenter.startRequse(mUrl,1);
}
break;
case R.id.San_Deng_btn:
UMShareAPI.get(MainActivity.this).getPlatformInfo(MainActivity.this, SHARE_MEDIA.QQ, authListener);
break;
}
}
@Override
public void success(Object data) {
User user= (User) data;
if(user.getCode()==100){
if(rem_pw.isChecked()){
mEditor.putString("USER_NAME", name);
mEditor.putString("PASSWORD", pass);
mEditor.commit();
}
Toast.makeText(this,user.getMsg(),Toast.LENGTH_SHORT).show();
startActivity(new Intent(MainActivity.this,Main2Activity.class));
}else{
Toast.makeText(this,user.getMsg(),Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
UMShareAPI.get(this).onActivityResult(requestCode, resultCode, data);
}
@Override
public void error(Object error) {
}
UMAuthListener authListener = new UMAuthListener() {
/**
* @desc 授權開始的回調
* @param platform 平臺名稱
*/
@Override
public void onStart(SHARE_MEDIA platform) {
}
/**
* @desc 授權成功的回調
* @param platform 平臺名稱
* @param action 行爲序號,開發者用不上
* @param data 用戶資料返回
*/
@Override
public void onComplete(SHARE_MEDIA platform, int action, Map<String, String> data) {
Toast.makeText(MainActivity.this, "成功了", Toast.LENGTH_LONG).show();
}
/**
* @desc 授權失敗的回調
* @param platform 平臺名稱
* @param action 行爲序號,開發者用不上
* @param t 錯誤原因
*/
@Override
public void onError(SHARE_MEDIA platform, int action, Throwable t) {
Toast.makeText(MainActivity.this, "失敗:" + t.getMessage(), Toast.LENGTH_LONG).show();
}
/**
* @desc 授權取消的回調
* @param platform 平臺名稱
* @param action 行爲序號,開發者用不上
*/
@Override
public void onCancel(SHARE_MEDIA platform, int action) {
Toast.makeText(MainActivity.this, "取消了", Toast.LENGTH_LONG).show();
}
};
}
//fargment 頁面 activty
package com.example.erzhoukaomoni;
import android.content.Context;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.widget.RadioGroup;
import com.example.erzhoukaomoni.adapter.MyFragmentAdapter;
import com.example.erzhoukaomoni.fragment.AFragment;
import com.example.erzhoukaomoni.fragment.BFragment;
import java.util.ArrayList;
public class Main2Activity extends AppCompatActivity {
private RadioGroup Rg;
private ViewPager Vp;
private AFragment aFragment;
private BFragment bFragment;
private ArrayList<Fragment> mList;
private Context mContext;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
initData();
initView();
MyFragmentAdapter myFragmentAdapter=new MyFragmentAdapter(getSupportFragmentManager(),mList,mContext);
Vp.setAdapter(myFragmentAdapter);
Rg.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if(R.id.Rb1==checkedId){
Vp.setCurrentItem(0);
}else if(R.id.Rb2==checkedId){
Vp.setCurrentItem(1);
}
}
});
Vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int i, float v, int i1) {
}
@Override
public void onPageSelected(int i) {
if(i==0){
Rg.check(R.id.Rb1);
}else if(i==1){
Rg.check(R.id.Rb2);
}
}
@Override
public void onPageScrollStateChanged(int i) {
}
});
}
private void initView() {
Rg = (RadioGroup) findViewById(R.id.Rg);
Vp = (ViewPager) findViewById(R.id.Vp);
}
public void initData() {
mList=new ArrayList<>();
mList.add(new AFragment());
mList.add(new BFragment());
}
}
//webview展示
package com.example.erzhoukaomoni;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Toast;
public class Main3Activity extends AppCompatActivity {
private WebView Web_View;
private String zzz;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);
Web_View = (WebView) findViewById(R.id.Web_View);
Intent intent = getIntent();
zzz = intent.getStringExtra("zzz");
Toast.makeText(Main3Activity.this,zzz,Toast.LENGTH_SHORT).show();
Web_View.loadUrl(zzz);
Web_View.setWebViewClient(new WebViewClient());
WebSettings settings = Web_View.getSettings();
settings.setJavaScriptCanOpenWindowsAutomatically(true);
settings.setJavaScriptEnabled(true);
}
}
//fragment頁面
//A頁面
package com.example.erzhoukaomoni.fragment;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.widget.AdapterView;
import com.example.erzhoukaomoni.Main3Activity;
import com.example.erzhoukaomoni.R;
import com.example.erzhoukaomoni.adapter.MyAdapter;
import com.example.erzhoukaomoni.bean.MyData;
import com.example.erzhoukaomoni.presenter.PresenterImpl;
import com.example.erzhoukaomoni.view.Iview;
import com.example.xlistviewlibrary.XListView;
import java.util.ArrayList;
/**
-
A simple {@link Fragment} subclass.
*/
public class AFragment extends Fragment implements Iview, XListView.IXListViewListener {private String mUrl = “http://www.xieast.com/api/news/news.php?page=”;
private XListView XList_View;
private int mindex=1;private ArrayList<MyData.DataBean> mList=new ArrayList<>();
private PresenterImpl presenter;
private MyAdapter myAdapter;
private WebView webView;@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.fragment_a, null);
initView(v);
presenter=new PresenterImpl(this);
myAdapter=new MyAdapter(mList,getContext());
XList_View.setAdapter(myAdapter);
presenter.startRequse(mUrl+mindex,2);XList_View.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { //Toast.makeText(getActivity(),mList.get(position).getUrl(),Toast.LENGTH_SHORT).show(); Intent intent=new Intent(getActivity(),Main3Activity.class); intent.putExtra("zzz",mList.get(position).getUrl()); startActivity(intent); } }); return v;
}
private void initView(View v) {
XList_View = (XListView) v.findViewById(R.id.XList_View);
webView = (WebView) v.findViewById(R.id.Web_View);
XList_View.setXListViewListener(this);
XList_View.setPullLoadEnable(true);
}@Override
public void success(Object data) {MyData myData= (MyData) data; mList.addAll(myData.getData()); myAdapter.notifyDataSetChanged(); stopReflush();
}
public void stopReflush(){
XList_View.stopLoadMore();
XList_View.stopRefresh();
XList_View.setRefreshTime(“加載完成”);}
@Override
public void error(Object error) {}
@Override
public void onRefresh() {mindex=1; mList.clear(); presenter.startRequse(mUrl+mindex,2);
}
@Override
public void onLoadMore() {mindex++; presenter.startRequse(mUrl+mindex,2);
}
}
//B頁面
package com.example.erzhoukaomoni.fragment;
import android.Manifest;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.content.PermissionChecker;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import com.example.erzhoukaomoni.MainActivity;
import com.example.erzhoukaomoni.R;
import com.google.zxing.WriterException;
import com.yzq.zxinglibrary.android.CaptureActivity;
import com.yzq.zxinglibrary.common.Constant;
import com.yzq.zxinglibrary.encode.CodeCreator;
import static android.app.Activity.RESULT_OK;
/**
- A simple {@link Fragment} subclass.
*/
public class BFragment extends Fragment implements View.OnClickListener{
private Button Sao_Yi_Sao;
private Button Sheng_Btn;
private ImageView Image;
private Button result;
private final int REQUEST_CODE_SCAN = 1001;
private String contentEtString = “呂小帥”;
private TextView text_view;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_b, null);
initView(v);
return v;
}
private void initView(View v) {
Sao_Yi_Sao = (Button) v.findViewById(R.id.Sao_Yi_Sao);
Sheng_Btn = (Button) v.findViewById(R.id.Sheng_Btn);
Image = (ImageView) v.findViewById(R.id.Image);
text_view = v.findViewById(R.id.Text_View);
result = (Button) v.findViewById(R.id.result);
Sao_Yi_Sao.setOnClickListener(this);
Sheng_Btn.setOnClickListener(this);
result.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.Sao_Yi_Sao:
if (!initPermission()) {
new AlertDialog.Builder(getContext())
.setMessage("沒有開啓攝像機權限,是否去設置開啓?")
.setPositiveButton("去開啓", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//調用系統內部去開啓權限
ApplicationInfo(getActivity());
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
}).show();
return;
}
//跳到掃一掃頁面
Intent intent = new Intent(getContext(), CaptureActivity.class);
//ZxingConfig config = new ZxingConfig();
//config.setShowbottomLayout(true);//底部佈局(包括閃光燈和相冊)
//config.setPlayBeep(true);//是否播放提示音
//config.setShake(true);//是否震動
//config.setShowAlbum(true);//是否顯示相冊
//config.setShowFlashLight(true);//是否顯示閃光燈
//intent.putExtra(Constant.INTENT_ZXING_CONFIG, config);
startActivityForResult(intent, REQUEST_CODE_SCAN);
break;
case R.id.Sheng_Btn:
Bitmap logo = BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher);
try {
//生成二維碼需要用到類是CodeCreator
Bitmap bitmap = CodeCreator.createQRCode(contentEtString, 400, 400, logo);
Image.setImageBitmap(bitmap);
} catch (WriterException e) {
e.printStackTrace();
}
break;
case R.id.result:
Intent mIntent1=new Intent(getContext(),MainActivity.class);
startActivity(mIntent1);
break;
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// 掃描二維碼/條碼回傳
if (requestCode == REQUEST_CODE_SCAN && resultCode == RESULT_OK) {
if (data != null) {
//key值都約束好了
String content = data.getStringExtra(Constant.CODED_CONTENT);
text_view.setText("掃描結果爲:" + content);
}
}
}
//查看是否開啓攝像頭權限
private boolean initPermission() {
//需要在Android裏面找到你要開的權限
String permissions = Manifest.permission.CAMERA;
boolean ret = false;
//Android 6.0以上纔有動態權限
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {//permission granted 說明權限開了
ret = PermissionChecker.checkSelfPermission(getContext(), permissions) == PermissionChecker.PERMISSION_GRANTED;
}
return ret;
}
public static void ApplicationInfo(Activity activity) {
try {
Intent localIntent = new Intent();
localIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
if (Build.VERSION.SDK_INT >= 9) {
localIntent.setAction("android.settings.APPLICATION_DETAILS_SETTINGS");
localIntent.setData(Uri.fromParts("package", activity.getPackageName(), null));
} else if (Build.VERSION.SDK_INT <= 8) {
localIntent.setAction(Intent.ACTION_VIEW);
localIntent.setClassName("com.android.settings", "com.android.settings.InstalledAppDetails");
localIntent.putExtra("com.android.settings.ApplicationPkgName", activity.getPackageName());
}
activity.startActivity(localIntent);
} catch (Exception e) {
}
}
}
//view層
package com.example.erzhoukaomoni.view;
public interface Iview {
void success(T data);
void error(T error);
}
//Model層
package com.example.erzhoukaomoni.model;
import com.example.erzhoukaomoni.callback.MyCallBack;
public interface Model {
void getData(String url, int type, MyCallBack callBack);
}
//ModelImpl層
package com.example.erzhoukaomoni.model;
import android.os.AsyncTask;
import com.example.erzhoukaomoni.bean.MyData;
import com.example.erzhoukaomoni.bean.User;
import com.example.erzhoukaomoni.callback.MyCallBack;
import com.example.erzhoukaomoni.utils.HttpUtils;
import com.google.gson.Gson;
public class ModelImpl implements Model {
private MyCallBack callBack;
private int type;
@Override
public void getData(String url, int type, MyCallBack callBack) {
this.callBack=callBack;
this.type=type;
new MyTask<T>().execute(url);
}
class MyTask<T> extends AsyncTask<String,Void,T>{
@Override
protected T doInBackground(String... strings) {
try {
String jsonStr = HttpUtils.get(strings[0]);
Gson gson=new Gson();
if(type==1){
User user = gson.fromJson(jsonStr, User.class);
return (T) user;
}else if(type==2){
MyData myData = gson.fromJson(jsonStr, MyData.class);
return (T) myData;
}
} catch (Exception e) {
e.printStackTrace();
callBack.setError(e.getMessage()+"出現異常");
}
return null;
}
@Override
protected void onPostExecute(T t) {
super.onPostExecute(t);
callBack.setData(t);
}
}
}
//MyCallBack層
package com.example.erzhoukaomoni.callback;
public interface MyCallBack {
void setData(T user);
void setError(T error);
}
//IPresenter層
package com.example.erzhoukaomoni.presenter;
public interface IPresenter {
void startRequse(String url, int type);
}
//PresenterImpl層
package com.example.erzhoukaomoni.presenter;
import com.example.erzhoukaomoni.callback.MyCallBack;
import com.example.erzhoukaomoni.model.ModelImpl;
import com.example.erzhoukaomoni.view.Iview;
public class PresenterImpl implements IPresenter {
private ModelImpl model;
private Iview iview;
public PresenterImpl(Iview iview) {
this.iview = iview;
model=new ModelImpl();
}
@Override
public void startRequse(String url, int type) {
model.getData(url, type, new MyCallBack() {
@Override
public void setData(Object user) {
iview.success(user);
}
@Override
public void setError(Object error) {
iview.error(error);
}
});
}
public void onDetatch(){
if(model!=null){
model=null;
if(iview!=null){
iview=null;
} }
}
}
//HttpUtils層
package com.example.erzhoukaomoni.utils;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpUtils {
public static String get(String urlStr) throws Exception {
URL url = new URL(urlStr);
//由一個有效的網址服務返回這個對象
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//設置請求方式
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000);
InputStream stream = connection.getInputStream();
String inputStr = getInputStr(stream);
return inputStr;
}
//把流轉成字符串
private static String getInputStr(InputStream stream) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(stream));
StringBuffer sb = new StringBuffer();
String str = null;
while ((str = br.readLine()) != null) {
sb.append(str);
}
return sb.toString();
}
public static String post(String urlStr, String mobile, String pass) throws Exception {
String inputStr = "";
URL url = new URL(urlStr);
//由一個有效的網址服務返回這個對象
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//設置請求方式
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setConnectTimeout(5000);
OutputStream outputStream = connection.getOutputStream();
String params = "mobile=" + mobile + "&password=" + pass;
outputStream.write(params.getBytes());
if (connection.getResponseCode() == 200) {
InputStream stream = connection.getInputStream();
inputStr = getInputStr(stream);
}
return inputStr;
}
}
//Myapp
package com.example.erzhoukaomoni.app;
import android.app.Application;
import com.umeng.commonsdk.UMConfigure;
import com.umeng.socialize.PlatformConfig;
public class Myapp extends Application {
@Override
public void onCreate() {
super.onCreate();
UMConfigure.setLogEnabled(true);
UMConfigure.init(this, “5a12384aa40fa3551f0001d1”
, “umeng”, UMConfigure.DEVICE_TYPE_PHONE, “”);//58edcfeb310c93091c000be2 5965ee00734be40b580001a0
//開啓log打印 報錯會給你提示
PlatformConfig.setWeixin("wxdc1e388c3822c80b", "3baf1193c85774b3fd9d18447d76cab0");
PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
}
}
//Adapter層
package com.example.erzhoukaomoni.adapter;
import android.content.Context;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import java.util.ArrayList;
public class MyFragmentAdapter extends FragmentPagerAdapter {
private ArrayList<Fragment> mList;
private Context mContext;
public MyFragmentAdapter(FragmentManager fm, ArrayList<Fragment> mList, Context mContext) {
super(fm);
this.mList = mList;
this.mContext = mContext;
}
@Override
public Fragment getItem(int i) {
return mList.get(i);
}
@Override
public int getCount() {
return mList.size();
}
}
//MyAdapter層
package com.example.erzhoukaomoni.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.bumptech.glide.Glide;
import com.example.erzhoukaomoni.R;
import com.example.erzhoukaomoni.bean.MyData;
import java.util.ArrayList;
public class MyAdapter extends BaseAdapter {
private ArrayList<MyData.DataBean> mList;
private Context mContext;
public MyAdapter(ArrayList<MyData.DataBean> mList, Context mContext) {
this.mList = mList;
this.mContext = mContext;
}
@Override
public int getCount() {
return mList.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=null;
if(convertView==null){
convertView=View.inflate(mContext, R.layout.list_item,null);
holder=new ViewHolder();
holder.Img=convertView.findViewById(R.id.Img);
holder.Text_View=convertView.findViewById(R.id.Text_View);
convertView.setTag(holder);
}else{
holder= (ViewHolder) convertView.getTag();
}
Glide.with(mContext).load(mList.get(position).getThumbnail_pic_s()).into(holder.Img);
holder.Text_View.setText(mList.get(position).getTitle());
return convertView;
}
class ViewHolder{
ImageView Img;
TextView Text_View;
}
}