java - 如何在android中将list.java添加到main.java中

标签 java android xml android-intent

我正在开发 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/

相关文章:

java - 如何创建一个包含 ViewPager 的折叠工具栏?

java - hadoop eclipse 中的 EOF 异常/在 eclipse 中设置 hadoop

java - 解析 JSON 并根据条件提取项目

Android Studio apk 未在构建文件夹中生成

android - 将符号放在按钮的中心

c# - 解析 XML 响应

c# - jaxb marshal 生成空文件

java - 接口(interface)定义包含对其他接口(interface)的引用是否可以接受?

java - CORS 不允许使用 POST 方法

java - 将一个键与多个值对象关联的高效集合