Java 从可编辑列表视图中选择项目时移动到其他活动/屏幕
我在MainActivity中有一个ListView,用户可以编辑它(用户可以向列表中添加新项目) 我想知道,当一个新项目被创建时,是否有可能创建一个新的活动,这样当它被单击时,它会在另一个屏幕上显示关于该项目的信息Java 从可编辑列表视图中选择项目时移动到其他活动/屏幕,java,android,android-studio,Java,Android,Android Studio,我在MainActivity中有一个ListView,用户可以编辑它(用户可以向列表中添加新项目) 我想知道,当一个新项目被创建时,是否有可能创建一个新的活动,这样当它被单击时,它会在另一个屏幕上显示关于该项目的信息 这是可能的。要实现这一点,您需要实现一个侦听器并将其设置为listView。 在您的侦听器中,您应该提出一个意图,并通过以下方式调用新活动: Intent intent = new Intent(this, DetailActivity.class); startActivity(
这是可能的。要实现这一点,您需要实现一个侦听器并将其设置为listView。 在您的侦听器中,您应该提出一个意图,并通过以下方式调用新活动:
Intent intent = new Intent(this, DetailActivity.class);
startActivity(intent);
它向您展示了如何:您可以创建一个“模板”活动,其中的空窗口小部件显示符合模板的任何对象的信息。简单地说,您可以在需要时(当用户添加新对象时)设置文本和内容
我有一个浏览活动,其中有一个歌曲对象的列表视图。当用户单击其中一个时,应用程序从列表中获取对象并将其放入第二个“模板”活动
ListView list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_browser);
list = findViewById(R.id.song_item_list_view);
SongItemArrayAdapter adapter = new SongItemArrayAdapter(this, Generator.getSampleSongs());
list.setAdapter(adapter);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Song item = (Song) list.getItemAtPosition(position);
Intent intent = new Intent(BrowserActivity.this, SongViewActivity.class);
intent.putExtra("EXTRA_SONG_ID", item.getId());
intent.putExtra("EXTRA_ROOT_ACTIVITY", SongViewActivity.Roots.browserActivity.toString());
startActivity(intent);
}
});
}
可能重复的
String rootActivity;
int songsID;
TextView title;
TextView text;
TextView author;
Song displayedSong;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_song_view);
title = findViewById(R.id.title_song_tv);
text = findViewById(R.id.tv_scrolling_song_text);
author = findViewById(R.id.author_song_tv);
songsID = getIntent().getExtras().getInt("EXTRA_SONG_ID");
rootActivity = getIntent().getExtras().getString("EXTRA_ROOT_ACTIVITY");
for(Song song : Generator.getSongs()){
if(song.getId() == songsID){
author.setText(song.getAuthor());
title.setText(song.getTittle());
text.setText(song.getText());
displayedSong = song;
}
}