如何创建以上各自的视图到我的Android应用程序?

时间:2011-05-04 14:16:51

标签: java android xml listview layout

我正在创建一个类似于给定here的链接的应用程序,其中显示三个图像在点击时从一个状态转换到另一个状态。

1)阶段1:当视频文件的一系列列表视图存储在视频目录中时。如何在ListView中创建此特定视图?

2)阶段2:当点击视频文件时,它不会立即播放视频,而是显示一个显示文件详细信息的对话框。

3)阶段3:用户可以退出,选择播放视频或显示路线图详细信息......

有人可以帮助我,我在这里开始使用android / java的新手,我完全迷失了如何开始创建上述视图,比如我如何使用我的视频目录中的现有视频文件填充Listview?

1 个答案:

答案 0 :(得分:1)

你意识到你基本上要求别人为你申请?在任何情况下,我都会尽力为你提供一些帮助。

第1阶段:您知道如何创建ListView吗?这是一个例子:

listView = (ListView) findViewById(R.id.list_view);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_list_item_1, elements); //elements is a List<String>
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {              
        //What to do when an item is clicked
    }
});

您可以通过创建包含单个TextView的XML文件来自定义列表项的外观,然后在创建ArrayAdapter时使用它(如R.layout.list_item)。 如果您想要一个完全自定义的视图,就像链接中的应用程序一样,您可以创建自己的适配器,然后实现View getView(int position, View convertView, ViewGroup parent)功能,返回您想要显示的视图。 例如:

View row = convertView;
if (row == null) {
    LayoutInflater mInflater = LayoutInflater.from(getContext());
    row = mInflater.inflate(R.layout.bookings_list_item, parent, false);
}
return row;

您可以通过计算视频目录中的文件来创建元素列表。我真的不知道怎么做,但这不应该太难。如果您没有找到自己,也许其他人可以为您提供答案。

第2阶段:通过显示对话框,在上例中的OnItemClickListener中实现此功能。

阶段3:实现按下按钮时Dialog将执行的操作。退出:关闭弹出窗口。播放视频:向视频播放器启动意图。我不确定如何显示路线图详细信息,但您可以随时在自己的应用中使用Google地图(样本为here)。

现在,我希望你能从中获得有用的东西。我希望我已经为您提供了足够的细节,以便能够开始进行研究和一些编码。 :)