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;
}
}