2

我刚刚开始为 Android 编写代码,但我很难理解列表视图。

例如,我需要了解如何在单击第一个列表视图中的项目时显示另一个列表视图。还有如何在单击列表视图中的项目时显示文本视图。

如果有人知道任何好的教程或示例,请告诉我。

非常感谢

4

4 回答 4

7

以下是您正在寻找的一些链接。高级,但如果你坚持下去并且不放弃这一点,你会学到很多!看一看:

Android:具有多个可点击按钮的 ListView 元素

带有嵌套小部件的 Android 自定义列表项

于 2011-06-14T09:34:53.910 回答
2

例如,我需要了解如何在单击 > 第一个列表视图中的项目时显示另一个列表视图。还有如何在单击列表视图中的项目时显示文本视图。

在 android 和 java 中,你也可以使用 listener 来监听事件。在您的情况下,您想知道用户何时单击某个项目,因此您需要一个 onclicklistener 它将使用另一个列表视图调用另一个活动。对于单击时的文本视图,我认为您想谈论 Toast,它是屏幕底部的一种通知。

一个很好的例子的链接:http: //developer.android.com/guide/topics/ui/ui-events.html

于 2011-06-14T09:35:40.093 回答
2

感谢大家提供的所有链接,非常有用!

我已经解决了我需要做的事情,它可能非常粗糙且效率低下,但至少在我了解更多之前它会起作用。

这使我可以将几种不同的视图类型链接在一起。

package com.android.AndroidViews;

import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;

public class AndroidViews extends ListActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setListAdapter(ArrayAdapter.createFromResource(getApplicationContext(),
                R.array.list_titles, R.layout.list_item));

        getListView().setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view,
                      int position, long id) {
                    switch( position )
                    {
                       case 0:  Intent newActivity = new Intent(AndroidViews.this,LinearView.class);
                                startActivity(newActivity);
                                break;
                       case 1:  Intent newActivity1 = new Intent(AndroidViews.this,List2.class);
                                startActivity(newActivity1);
                                break;
                    }
                }
        });
    }
}
于 2011-06-14T15:52:27.200 回答
1

我不知道有什么好的教程,但对于你问的第一个问题:

“我需要了解如何在单击第一个列表视图中的项目时显示另一个列表视图。”

我假设您想在同一活动中保留相同的列表视图。所以只需更改列表视图的适配器。如果它是基于光标的,请不要忘记管理光标。切换到新适配器后,调用

notifyDatasetChanged() 

适配器刷新视图的方法。

关于第二个问题“还有如何在单击列表视图中的项目时显示文本视图。”,这对我来说太模糊了。你要做什么 ?直接就地编辑列表项,弹出一个带有编辑文本的对话框?

问候, 斯蒂芬

于 2011-06-14T09:32:20.280 回答