FindViewByID()无法找到我的ID(2个活动)

时间:2017-09-25 19:31:46

标签: c# android xamarin xamarin.android xamarin-studio

我是Android编程新手,我有一点问题。

所以我有2个活动和2个布局。

问题是我的第二个活动中有一个按钮,当我尝试声明它时,FindViewById()无法从第二个布局中找到id。我重新构建了应用程序,我仔细检查了ID - 它们匹配,但只是函数FindViewById()找不到我的按钮ID。 例: 我的第二个布局中有一个按钮(第二个活动?我不知道说什么是正确的,正如我所说的我刚接触到android编程) 按钮ID是= LoginButton,当我进入我的第二个活动并输入时 Button LoginButton FindViewByID(Resources.Id.LoginButton); 该功能找不到它:/ 我很困惑。请帮帮我

3 个答案:

答案 0 :(得分:0)

您是否在第二个活动的XML文件中声明了该按钮?如果您只在第一个活动中声明它,那么findviewbyid将不会显示错误,因为存在具有该ID的元素。但它不会运行(会抛出一个错误)只是因为它无法在你的(第二个)活动中找到那个特定的元素。

答案 1 :(得分:0)

  1. 检查您的按钮的ID是否已命名为" @ + id / LoginButton"

  2. 正确的拼写应该是findViewById(R.id.LoginButton),而不是您在问题中输入的方式。

  3. 或者您是否想要从片段中获取视图? 尝试getView()。findViewById(...);

  4. 如果不起作用,请给我们一些代码,听起来像某个地方的错字。

答案 2 :(得分:0)

这是因为无法成功创建Resource.Designer,这是因为您的布局中存在错误,因此请始终注意检查是否所有属性都定义良好。

在MenuList.axml中:

  1. android:textColor="000"更改为android:textColor="#000"(很可能是问题所在)
  2. android:layout_height="210.5dp"你真的需要那些.5 dp吗?我建议把它放到android:layout_height="210dp"
  3. 删除android:layout_marginBottom="0.0dp"边距为0dp。
  4. 执行此更改后,清除并重建项目,并查看错误是否消失。

      

    要跟踪此类错误,请将Build纳入诊断中,以便您可以   看看是什么造成了问题。