Java my ArrayList中的数据重复上次输入的数组数据。这是什么原因?

Java my ArrayList中的数据重复上次输入的数组数据。这是什么原因?,java,android,arraylist,adapter,Java,Android,Arraylist,Adapter,当我使用ArrayList使用自定义适配器在列表视图中列出图像时,代码没有显示错误。问题是,在使用代码时,列表视图中仅显示我上次输入的数据。为什么不能查看以前输入的数据 我的活动课: public class SocialActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedIn

当我使用
ArrayList
使用自定义适配器在列表视图中列出图像时,代码没有显示错误。问题是,在使用代码时,列表视图中仅显示我上次输入的数据。为什么不能查看以前输入的数据

我的活动课:

public class SocialActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_social);
        String json;
        ImageView babu = (ImageView) findViewById(R.id.babu);
        ListView lvsoc = (ListView) findViewById(R.id.list_social);
        LinearLayout l1 = (LinearLayout) findViewById(R.id.layhead);
        LayoutInflater inflater = null;
        ArrayList<SubjectData> arrayList = new ArrayList<SubjectData>();
        ArrayAdapter<SubjectData> a;
        /*ArrayList<String> allcategory = new ArrayList<>();
        ArrayList<String> allcategory1 = new ArrayList<>();
        ArrayList<String> img = new ArrayList<>();
        ArrayList<String> img1 = new ArrayList<>();*/
        arrayList.add(new SubjectData("JAVA", "https://www.tutorialspoint.com/java/", "https://s18955.pcdn.co/wp-content/uploads/2017/11/Facebook-share-icon.png"));
        arrayList.add(new SubjectData("Python", "https://www.tutorialspoint.com/python/", "https://www.tutorialspoint.com/python/images/python-mini.jpg"));
        /*arrayList.add(new SubjectData("Javascript", "https://www.tutorialspoint.com/javascript/", "https://www.tutorialspoint.com/javascript/images/javascript-mini-logo.jpg"));
        arrayList.add(new SubjectData("Cprogramming", "https://www.tutorialspoint.com/cprogramming/", "https://www.tutorialspoint.com/cprogramming/images/c-mini-logo.jpg"));
        arrayList.add(new SubjectData("Cplusplus", "https://www.tutorialspoint.com/cplusplus/", "https://www.tutorialspoint.com/cplusplus/images/cpp-mini-logo.jpg"));
        arrayList.add(new SubjectData("Android", "https://www.tutorialspoint.com/android/", "https://www.tutorialspoint.com/android/images/android-mini-logo.jpg"));*/

        //SocialAdapter customAdapter = new SocialAdapter(SocialActivity.this, arrayList);
        lvsoc.setAdapter((ListAdapter) arrayList);

        //arrayList.add(new SubjectData("JAVA", "https://www.tutorialspoint.com/java/", "https://www.tutorialspoint.com/java/images/java-mini-logo.jpg"));
        babu.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent i;
                i = new Intent(SocialActivity.this, MainActivity.class);
                startActivity(i);
            }
        });






    }
    @Override
    public void onBackPressed() {
        Intent i = new Intent(SocialActivity.this, MainActivity.class);
        startActivity(i);
        super.onBackPressed();
    }
}

您的
SubjectData
包含所有静态字段。因此,
SubjectData
的每个实例都具有相同的信息

相反:

public class SubjectData {
    public String SubjectName;
    public String Link;
    public String Image;
    public SubjectData(String subjectName, String link, String image) {
        this.SubjectName = subjectName;
        this.Link = link;
        this.Image = image;
    }
}

您的
SubjectData
包含所有静态字段。因此,
SubjectData
的每个实例都有相同的信息。再见,这是我的问题。谢谢你提到我的错误。
package com.gjinfotech.eschoolsolution.ClassAdapter;

public class SubjectData {
    public static  String SubjectName;
    public static String Link;
    public static String Image;
    public SubjectData(String subjectName, String link, String image) {
        this.SubjectName = subjectName;
        this.Link = link;
        this.Image = image;
    }
}
public class SubjectData {
    public String SubjectName;
    public String Link;
    public String Image;
    public SubjectData(String subjectName, String link, String image) {
        this.SubjectName = subjectName;
        this.Link = link;
        this.Image = image;
    }
}