2015-07-21 55 views
1

我一直在尝试从过去几小时的另一个布局获取小部件,但仍然没有运气。有人可以告诉我目前的代码有什么问题吗?Android - 获取其他布局小部件

public void refreshClicked(View view){ 

    tab1 = LayoutInflater.from(view.getContext()).inflate(R.layout.tab_1, null); 
    Button b = (Button) tab1.findViewById(R.id.refresh); 
    b.setText("Updating..."); 


} 

我勾住我的按钮onClickrefreshClicked(View view)方法。

此方法位于我的MainActivity.java下,我试图从idrefreshtab_1.xml布局中获取按钮,但按钮文本未更新。

谢谢!

+0

你想访问一个已经存在的视图或创建一个新视图吗?因为在这里你膨胀了一个新的观点,但你似乎并没有使用它。 – user2641570

+0

嗨,是的,我试图访问现有的视图。基本上,我试图从我的一个标签中获取小部件。 – Jim

+0

好的,您传递给refreshClicked()的视图参数是您的选项卡/控件的视图? – user2641570

回答

1

您似乎膨胀了布局,但从来没有将其附加到父视图,因为ViewGroup参数为空。然后这种膨胀的布局甚至不能显示在任何地方。

如果按钮b已经存在,则不需要膨胀布局并在那里检索按钮窗体,它将会有不同的按钮。 只需从实际的现有布局中检索按钮。

+0

它的工作!为什么我甚至不得不添加'tab1 = this.getLayoutInflater()。inflate(R.layout.tab_1,null);'我认为findViewById不会工作,如果你不在你想要访问的布局。我错了XD谢谢兄弟! – Jim