创建一个创建对象的按钮,并在单击时显示该对象

时间:2014-07-09 23:34:00

标签: java android xml

我有一个处理歌曲对象的程序,其中包含一些字段和播放列表对象,这些对象是歌曲的数组。我有一个功能完善的java编程,可以完成我需要它做的事情但是我试图将它转换成Android应用程序,它让我想把我的电脑扔出窗外。我不太了解XML,但我已经掌握了创建按钮等基础知识。

我在布局文件中有一个按钮,按如下方式实现:

<Button
    android:id="@+id/button1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:text="@string/Button" 
    android:onClick="newPlaylist"/>
<TextView
    android:id="@+id/textView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/button1"
    android:layout_below="@+id/button1" />

在我的主文件中,我有:

public void newPlaylist(View view){
    Playlist list1 = new Playlist("First Playlist");
    TextView first = (TextView) findViewById(R.id.textView1);
    first.setText(list1.getName());     
}

编辑:我能够在newPlaylist方法中添加一些内容。现在,当我点击按钮时,它会显示播放列表的名称,但我仍然想要编辑它,并且可以在屏幕上设置多个播放列表进行操作。

我想要做的就是将播放列表名称显示为可点击的文字或标签,以便可以更改名称,我可以从此处继续播放。

1 个答案:

答案 0 :(得分:2)

Android documentation on the button component可能会帮助您解决问题。

我认为你的播放列表类看起来像这样

public class Playlist {
    private String name;

    public Playlist(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}

如果是,那么处理按钮点击的方法应如下所示。

public void newPlaylist(View view) {
    Playlist playlist = new Playlist("My First Playlist!"); // Create our playlist object
    // Since button is the only component that uses 'newPlaylist' as a click listener, the view will always be the button
    Button button = (Button) view; // We cast the view to button
    button.setText(playlist.getName()); // This edits the button text, might want to create a TextView for this
}