我正在开发 Android 媒体播放器。在main.java中它包括main.xml和list.java包括
list.xml ,我使用 Intent 将 list.java (当我按 imagebutton 时)调用到 main.java ,但是当我按 imagebutton list.xml 出现新窗口时,我想在 main.xml 的底部显示
在main.java中,图像按钮将list.java调用到main.java中
songslist_button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(main.this, list.class);
Toast.makeText(main.this, "Song List", Toast.LENGTH_SHORT).show();
startActivityForResult(i, 100);
//Intent i = new Intent(main.this, list.class);
//startActivity(i);
}
});
/////////////////////////
public class list extends ListActivity
{
// Songs list
public ArrayList<HashMap<String, String>> songsLists = new ArrayList<HashMap<String, String>>();
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.list);//list.xml
ArrayList<HashMap<String, String>> songsListData = new ArrayList<HashMap<String, String>>();
SongList plm = new SongList();
// get all songs from sdcard
this.songsLists = plm.getPlayList();
// looping through playlist
for (int i = 0; i < songsLists.size(); i++)
{
// creating new HashMap
HashMap<String, String> song = songsLists.get(i);
// adding HashList to ArrayList
songsListData.add(song);
}
// Adding menuItems to ListView
ListAdapter adapter = new SimpleAdapter(this, songsListData,
R.layout.song_item, new String[] { "songTitle" }, new int[] {R.id.song_title });
setListAdapter(adapter);
// selecting single ListView item
ListView lv = getListView();
//lv = (ListView) findViewById (R.layout.list);
// listening to single listitem click
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,int position, long id)
{
// getting listitem index
int songIndex = position;
// Starting new intent
Intent in = new Intent(getApplicationContext(),main.class);
// Sending songIndex to PlayerActivity
in.putExtra("songIndex", songIndex);
setResult(100, in);
// Closing PlayListView
finish();
}
});
}
}
最佳答案
您的 main.java 类是一个 Activity 吗?您的列表甚至是一项 Activity ,因此您开始了一项新 Activity ,该 Activity 将显示在新窗口中。我认为你需要另一种方法来做到这一点。首先阅读本教程:
http://www.vogella.com/articles/AndroidListView/article.html
http://windrealm.org/tutorials/android/android-listview.php
做这样的事情的可能性是将一个简单的 listView 集成到您的 main.xml 布局中并隐藏此 View ,直到按下按钮。
编辑
例如:
<ListView android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/mainListView">
</ListView>
将其放入您的 main.xml 中,可能位于您的按钮下方。然后你可以在你的main.java中引用listview:
mainListView = (ListView) findViewById( R.id.mainListView );
但是还有很多事情要做,所以我建议您阅读教程,以清楚地了解如何构建 listView。
关于java - 如何在android中将list.java添加到main.java中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13558667/