新手入门Android:动态更改视图

3
我正在学习如何为Android构建应用程序。第一个简单的应用程序将成为我希望构建的更大应用程序的组成部分,其目的是在屏幕上放置一个按钮,在点击时向视图添加新内容。例如:想象一下只有一个按钮的布局:
[Create!]

当按下该按钮时,视图会添加一行新内容:
[Create!]
A Something!

随着后续按下,会添加更多的行。
[Create!]
A Something!
A Something!

等等。

我已经创建了一个LinearLayout并将按钮放在其中,并附加了一个点击监听器。这一切都很好。但我想不出如何在onClick函数中获取LinearLayout的句柄,以便我可以addView()新的TextView,上面写着"A Something!"

我走对了吗?我缺少了什么基本的东西吗?谢谢!

2个回答

1

我认为你的方法不太对。你应该研究一下ListView和SimpleArrayAdapter。这样可以将元素以列表格式呈现,用户会更加熟悉。Google有一些很好的例子使用了这种方法(比如他们的记事本示例)。特别是如果你是Android新手,你应该看看他们的演示来帮助你掌握基础知识。你可以在这里找到它们。


谢谢,我会这样做。我尝试了一下ListView,并且用静态数据使其显示出来了...只是一个硬编码的数组。我会尝试使用示例来看看如何以动态方式实现它。谢谢! - Josiah Kiehl

0

这是从记忆中翻译的,所以可能不完全正确。

在您的布局中,您需要为LinearLayout指定一个id。

< LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/namehere"
... >

然后在您的代码中,您将使用findViewById来获取对它的引用。

LinearLayout ll = (LinearLayout) findViewById(R.id.namehere);

ll.addView(...);


你说得没错,可以通过id获取东西,但是当我尝试给LinearLayout设置id时,会出现错误。这是我的第一种尝试方法。 - Josiah Kiehl
抱歉,我在想FrameLayout。请参考http://www.kellbot.com/2009/06/android-hello-circle/获取示例。 - Slapout

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接