Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从可编辑列表视图中选择项目时移动到其他活动/屏幕_Java_Android_Android Studio - Fatal编程技术网

Java 从可编辑列表视图中选择项目时移动到其他活动/屏幕

Java 从可编辑列表视图中选择项目时移动到其他活动/屏幕,java,android,android-studio,Java,Android,Android Studio,我在MainActivity中有一个ListView,用户可以编辑它(用户可以向列表中添加新项目) 我想知道,当一个新项目被创建时,是否有可能创建一个新的活动,这样当它被单击时,它会在另一个屏幕上显示关于该项目的信息 这是可能的。要实现这一点,您需要实现一个侦听器并将其设置为listView。 在您的侦听器中,您应该提出一个意图,并通过以下方式调用新活动: Intent intent = new Intent(this, DetailActivity.class); startActivity(

我在MainActivity中有一个ListView,用户可以编辑它(用户可以向列表中添加新项目) 我想知道,当一个新项目被创建时,是否有可能创建一个新的活动,这样当它被单击时,它会在另一个屏幕上显示关于该项目的信息


这是可能的。要实现这一点,您需要实现一个侦听器并将其设置为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;
            }
        }