有人可以帮我解决这个非常简单的问题吗?我是非常+++的初学者。
这是我的 listview
字符串
String[] items = {"Silent night", "Deck The hall","Feliz navidad","Jingle bell", "song 4","song 5"};
问题:
如何查看 ListView 中每个项目的歌词?我将歌词存储在 res raw 中。
详细信息:
我在 main.xml 中有主 textview
和 4 个按钮(圣诞节、hillsong、按钮 3、按钮 4)。当我单击“圣诞节”按钮时,它会切换到圣诞节布局,并在 listview
中显示圣诞节歌曲列表。单击标题时,它会引用回 main.xml 并在主 textview
中查看歌词。
最佳答案
查看http://www.vogella.de/articles/AndroidListView/article.html有关使用 ListView 的一些很好的示例
基本上,您将创建一个扩展 ListActivity 的新类。
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class MyListActivity extends ListActivity {
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
String[] values = new String[] { "song1", "song2", "song3",
"song4" };
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, values);
setListAdapter(adapter);
}
}
然后,您需要检查用户何时单击列表项,然后将其打包并通过 Intent 将其发送到带有歌词的下一个 Activity 。
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
String item = (String) getListAdapter().getItem(position);
Intent intent = new Intent(this, Lyrics.class);
intent.putExtra("song", item); //item is the listitem ie. song1, etc.
startActivity(intent);
}
最后,在歌词类中,您需要检索额外内容。
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
Bundle extras = getIntent().getExtras();
if(extras != null) {
String song = extras.getString("song");
}
...
}
现在您在歌词 Activity 中拥有了这首歌,您可以从那里获取它。我几乎刚刚写了你的整个应用程序...... x_X
关于java - 显示每个 ListView 项目的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8283460/