Java ViewPager中每个ImageView的ID

Java ViewPager中每个ImageView的ID,java,android,android-asynctask,android-pageradapter,Java,Android,Android Asynctask,Android Pageradapter,首先,我是android和java的新手,因为我有网络开发背景 最近,我试图开发和应用程序的学习目的,但我面临一个头痛的问题,在开发过程中 我有一个主要活动触发Asynctask,通过php文件从wamp数据库获取id列表 我的主要活动文件的一部分-login_main.java public class login_main extends AppCompatActivity implements OnDataSendToActivity{ ViewPager viewPager;

首先,我是android和java的新手,因为我有网络开发背景

最近,我试图开发和应用程序的学习目的,但我面临一个头痛的问题,在开发过程中

我有一个主要活动触发Asynctask,通过php文件从wamp数据库获取id列表

我的主要活动文件的一部分-login_main.java

public class login_main extends AppCompatActivity implements OnDataSendToActivity{
    ViewPager viewPager;
    CustomAdapter adapter;

    ArrayList<String> images = new ArrayList<>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        //setSupportActionBar(toolbar);

        SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0); // 0 - for private mode
        SharedPreferences.Editor editor = pref.edit();
        String username = pref.getString("username", null);

        String type = "getProfileImages";

        RetrieveData retrieveData = new RetrieveData(this);

        retrieveData.execute(type,username);

        viewPager = (ViewPager) findViewById(R.id.view_pager);
    }


    public void sendData(String response) {
        try {
            JSONObject jsonObject = new JSONObject(response);
            JSONArray result = jsonObject.getJSONArray("result");
            for (int i = 0 ; i < result.length(); i++) {
                JSONObject obj = result.getJSONObject(i);
                String id = obj.getString("image"+i);
                String url = "http://192.168.12.252/"+id+"/profile.png";
                images.add(url);
            }

        } catch (JSONException e) {
            e.printStackTrace();
        }
        adapter = new CustomAdapter(login_main.this,images);//set ur image array here
        viewPager.setAdapter(adapter);
    }
public class login\u main扩展AppCompatActivity实现OnDataSendToActivity{
查看页面查看页面;
自定义适配器;
ArrayList images=新的ArrayList();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u login\u main);
Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar);
//设置支持操作栏(工具栏);
SharedReferences pref=getApplicationContext()。GetSharedReferences(“MyPref”,0);//0-用于私有模式
SharedReferences.Editor=pref.edit();
字符串username=pref.getString(“username”,null);
字符串类型=“getProfileImages”;
RetrieveData RetrieveData=新的RetrieveData(此);
retrieveData.execute(类型、用户名);
viewPager=(viewPager)findViewById(R.id.view\u pager);
}
公共void sendData(字符串响应){
试一试{
JSONObject JSONObject=新JSONObject(响应);
JSONArray result=jsonObject.getJSONArray(“结果”);
for(int i=0;i
异步任务文件

public class RetrieveData extends AsyncTask<String,Void,String>{
    Context context;
    RetrieveData(Context ctx) {
        context = ctx;
    }
    private OnDataSendToActivity dataSendToActivity;

    public RetrieveData(Activity activity){
        dataSendToActivity = (OnDataSendToActivity)activity;
    }

    @Override
    protected String doInBackground(String... params) {
        String profile_url = "http://192.168.12.252/getprofile.php";
        String image_url = "http://192.168.12.252/imagelist.php";
        String type = params[0];

        if(type.equals("getProfile")){
            try {
                String user_name = params[1];
                URL url = new URL(profile_url);
                HttpURLConnection httpURLConnection = null;
                httpURLConnection = (HttpURLConnection)url.openConnection();
                httpURLConnection.setRequestMethod("POST");
                httpURLConnection.setDoOutput(true);
                httpURLConnection.setDoInput(true);

                httpURLConnection.setDoOutput(true);
                httpURLConnection.setDoInput(true);
                OutputStream outputStream = httpURLConnection.getOutputStream();
                BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
                String post_data = URLEncoder.encode("user_name", "UTF-8")+"="+URLEncoder.encode(user_name, "UTF-8");
                bufferedWriter.write(post_data);
                bufferedWriter.flush();
                bufferedWriter.close();
                outputStream.close();

                InputStream inputStream = httpURLConnection.getInputStream();
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1"));
                String result = null;
                result = bufferedReader.readLine();
                bufferedReader.close();
                inputStream.close();
                httpURLConnection.disconnect();
                return result;
            } catch (IOException e) {
                e.printStackTrace();
            }
        }else if(type.equals("getProfileImages")){
            try {
                String user_name = params[1];
                URL url = new URL(image_url);
                HttpURLConnection httpURLConnection = null;
                httpURLConnection = (HttpURLConnection)url.openConnection();
                httpURLConnection.setRequestMethod("POST");
                httpURLConnection.setDoOutput(true);
                httpURLConnection.setDoInput(true);

                httpURLConnection.setDoOutput(true);
                httpURLConnection.setDoInput(true);
                OutputStream outputStream = httpURLConnection.getOutputStream();
                BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
                String post_data = URLEncoder.encode("Image", "UTF-8")+"="+URLEncoder.encode("Image", "UTF-8")+"&"+URLEncoder.encode("user_name", "UTF-8")+"="+URLEncoder.encode(user_name, "UTF-8");
                bufferedWriter.write(post_data);
                bufferedWriter.flush();
                bufferedWriter.close();
                outputStream.close();

                InputStream inputStream = httpURLConnection.getInputStream();
                BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1"));
                String result = null;
                result = bufferedReader.readLine();
                bufferedReader.close();
                inputStream.close();
                httpURLConnection.disconnect();
                return result;
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return null;
    }

    @Override
    protected void onPostExecute(String result) {
        super.onPostExecute(result);
        dataSendToActivity.sendData(result);
    }
公共类RetrieveData扩展异步任务{
语境;
检索数据(上下文ctx){
上下文=ctx;
}
私有OnDataSendToActivity数据SendToActivity;
公共检索数据(活动){
dataSendToActivity=(OnDataSendToActivity)活动;
}
@凌驾
受保护的字符串doInBackground(字符串…参数){
字符串配置文件\u url=”http://192.168.12.252/getprofile.php";
字符串图像\u url=”http://192.168.12.252/imagelist.php";
字符串类型=参数[0];
if(type.equals(“getProfile”)){
试一试{
字符串user_name=params[1];
URL URL=新URL(配置文件\ URL);
HttpURLConnection HttpURLConnection=null;
httpURLConnection=(httpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod(“POST”);
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
OutputStream OutputStream=httpURLConnection.getOutputStream();
BufferedWriter BufferedWriter=新的BufferedWriter(新的OutputStreamWriter(outputStream,UTF-8));
字符串post_data=URLEncoder.encode(“用户名”,“UTF-8”)+“=”+URLEncoder.encode(用户名,“UTF-8”);
bufferedWriter.write(post_数据);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
InputStream InputStream=httpURLConnection.getInputStream();
BufferedReader BufferedReader=新的BufferedReader(新的InputStreamReader(inputStream,“iso-8859-1”);
字符串结果=null;
结果=bufferedReader.readLine();
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
返回结果;
}捕获(IOE异常){
e、 printStackTrace();
}
}else if(type.equals(“getProfileImages”)){
试一试{
字符串user_name=params[1];
URL URL=新URL(图像\ URL);
HttpURLConnection HttpURLConnection=null;
httpURLConnection=(httpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod(“POST”);
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
OutputStream OutputStream=httpURLConnection.getOutputStream();
BufferedWriter BufferedWriter=新的BufferedWriter(新的OutputStreamWriter(outputStream,UTF-8));
字符串post_data=urlcoder.encode(“Image”,“UTF-8”)+“=”+urlcoder.encode(“Image”,“UTF-8”)+“&+urlcoder.encode(“用户名”,“UTF-8”)+”=“+urlcoder.encode(用户名,“UTF-8”);
bufferedWriter.write(post_数据);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
InputStream InputStream=httpURLConnection.getInputStream();
BufferedReader BufferedReader=新的BufferedReader(新的InputStreamReader(inputStream,“iso-8859-1”);
字符串结果=null;
结果=bufferedReader.readLine();
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
返回结果;
}捕获(IOE异常){
e、 printStackTrace();
}
}
返回null;
}
@凌驾
受保护的void onPostExecute(字符串结果){
super.onPostExecute(结果);
dataSendToActivity.sendD
public class CustomAdapter extends PagerAdapter{
    Activity activity;
    ArrayList<String> images = new ArrayList<>();
    LayoutInflater inflater;

    public CustomAdapter(Activity activity, ArrayList<String> images){
        this.activity = activity;
        this.images = images;
    }

    @Override
    public int getCount() {
        return images.size();
    }

    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view==object;
    }

    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        inflater = (LayoutInflater)activity.getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View itemView = inflater.inflate(R.layout.swipe,container,false);

        ImageView image;
        image = (ImageView)itemView.findViewById(R.id.imageView);


        DisplayMetrics dis = new DisplayMetrics();
        activity.getWindowManager().getDefaultDisplay().getMetrics(dis);
        int height = dis.heightPixels;
        int width = dis.widthPixels;
        image.setMinimumHeight(height);
        image.setMinimumWidth(width);
        try{
            Picasso.with(activity.getApplicationContext())
                    .load(images.get(position))
                    .placeholder(R.mipmap.ic_launcher)
                    .error(R.mipmap.ic_launcher)
                    .into(image);
        }catch (Exception ex){

        }

        container.addView(itemView);
        return itemView;
    }

    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        ((ViewPager) container).removeView((View)object);
    }
}
try {
            JSONObject jsonObject = new JSONObject(response);
            JSONArray result = jsonObject.getJSONArray("result");
            for (int i = 0 ; i < result.length(); i++) {
                JSONObject obj = result.getJSONObject(i);
                String id = obj.getString("image"+i);
                String url = "http://192.168.12.252/"+id+"/profile.png";
                images.add(url);
            }

        } catch (JSONException e) {
            e.printStackTrace();
        }
        adapter = new CustomAdapter(login_main.this,images);//set ur image array here
        viewPager.setAdapter(adapter);
public class CustomAdapter extends PagerAdapter{
    ArrayList<String> mIds = new ArrayList<>();

    public CustomAdapter(Activity activity, ArrayList<String> images, ArrayList<String> ids){
        mIds = ids;
    }
image.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View view){
        String clickedId = mIds.get(position);
        // Do something with the selected image Id
    }
});