java - 数组适配器和 ListView 显示错误数据
问题描述
我正在尝试从 ArrayLists 获取数据的多个活动。我已经编写了布局文件和 java 文件,但现在其中一个活动正在显示另一个活动的 ArrayList。
没有错误,所以我不太确定我做错了什么。
第一个数组和适配器:
public class AlbumsActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_albums);
ArrayList<String> albums = new ArrayList<>();
albums.add("Umqele");
albums.add("We are friends");
albums.add("Isiphithiphiti");
albums.add("Scorpion kings");
albums.add("Red");
albums.add("Different world");
albums.add("Irue");
albums.add("Dirty Computer");
albums.add("Anti");
albums.add("Love Girls");
ArrayAdapter<String> albumsAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, albums);
ListView albumView = findViewById(R.id.albums);
albumView.setAdapter(albumsAdapter);
}
第二:
public class PlaylistActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_playlists);
ArrayList<String> lists = new ArrayList<>();
lists.add("House");
lists.add("MorningJams");
lists.add("SundayTunes");
ArrayAdapter<String> listAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, lists);
ListView listView = findViewById(R.id.playlist);
listView.setAdapter(listAdapter);
}
解决方案
这是您的代码的输出。它按预期运行。意味着每个活动中的不同数据。
主要活动
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String a[] = new String[4];
playlist = findViewById(R.id.open_playlist_bt);
album = findViewById(R.id.open_albumlist_bt);
playlist.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(MainActivity.this, PlaylistActivity.class));
}
});
album.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(MainActivity.this, AlbumsActivity.class));
}
});
}
相册活动
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String a[] = new String[4];
ArrayList<String> albums = new ArrayList<>();
albums.add("Umqele");
albums.add("We are friends");
albums.add("Isiphithiphiti");
albums.add("Scorpion kings");
albums.add("Red");
albums.add("Different world");
albums.add("Irue");
albums.add("Dirty Computer");
albums.add("Anti");
albums.add("Love Girls");
ArrayAdapter<String> albumsAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, albums);
ListView albumView = findViewById(R.id.album);
albumView.setAdapter(albumsAdapter);
}
public void openPlasylistActivity(View view) {
startActivity(new Intent(this, PlaylistActivity.class));
}
播放列表活动
public class PlaylistActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
ArrayList<String> lists = new ArrayList<>();
lists.add("House");
lists.add("MorningJams");
lists.add("SundayTunes");
ArrayAdapter<String> listAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, lists);
ListView listView = findViewById(R.id.play_list);
listView.setAdapter(listAdapter);
}
}
推荐阅读
- angular - 动态验证器问题,Angular
- debugging - VSCode:在开始调试 Web 项目时自动运行 npm 脚本
- jquery - jQuery 和 JavaScript 的变化有什么区别?
- c - 如何显示使用c中的链表实现的队列的元素?
- javascript - 这种带有向下滑动模式的分层效果是什么,我如何使用 react native 重新创建它?
- android - 将 typedef unsigned char 转换为字节
- html - CSS网格中的中心溢出单元格
- javascript - TypeError:无法读取未定义的属性“合格”
- python - 和整数字段
- javascript - 图像不会在 p5.js 中加载