以编程方式访问IntelliJ UI Designer创建的对象?

时间:2013-10-11 00:44:38

标签: java android intellij-idea android-ui gui-designer

我在UI设计器中创建了一个TextView,但我无法弄清楚应该如何从代码中访问它。我已经尝试过Go To Declaration,但这只是将我带到了TextView被“制作”的XML文件中。有谁知道如何做到这一点?非常感谢帮助!

2 个答案:

答案 0 :(得分:0)

“从代码中访问”是什么意思?如果您正在谈论从代码中引用的位置进行导航以在UI设计器中查看它,那么当您编辑XML文件时,启用Android支持的更新版本的Intellij会在编辑器的底部放置标签,以便您在文本表示和布局文件的可视化表示。

如果您正在讨论如何在代码中实例化视图,请发布您尝试过的一些示例(最常见的方法是使用LayoutInflater)。

修改

更改TextView中显示的实际文本不是特定于IDE的问题。您有两种方法可以做到这一点(如果您将XML文件的可视和文本视图视为单独的方法,则有三种方法)。您可以通过在TextView小部件上设置the android:text attribute或通过调用setText()在代码中设置XML文件中的文本。无论您决定采用哪种方式,都应该考虑不将您的文本称为原始字符串,而是将其称为字符串资源as described here

编辑2:

好的,您正在寻找有关如何充气视图的说明,以获取对该视图的访问权限。这是我最初回答的问题,但这里有更多代码。在你的活动中(你设置了一个活动,对吗?):

LayoutInflater inflater = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.<your layout ID>, null);
RelativeLayout item = (RelativeLayout) view.findViewById(R.id.<your TextView's id>);

答案 1 :(得分:0)

这与IDE无关。首先,您需要“查找”TextView,然后您可以修改其属性:

TextView myTextView = (TextView) findViewById(R.id.yourid); // The ID is declared in the XML file as android:id atrribute.
myTextView.setText("New Text");