【问题标题】:Why setVisibility() function has no definition?为什么 setVisibility() 函数没有定义?
【发布时间】:2017-02-13 04:39:46
【问题描述】:

许多函数在我的 IDE 中没有定义,这真的很令人沮丧,现在我正在努力使用 setVisibility() 函数。我正在使用 c# 在 xamarin、visual studio 中进行 android 编程。我想在单击特定按钮时使文本视图不可见。我想写以下内容:

TextView mytextview = FindViewById<TextView>(Resource.Id.mytextview);
button1.Click += delegate
    {mytextview.setVisibility(view.Invisible);};

我收到一个错误,提示 setVisibility 没有定义,下面有一条红线

setVisibility(view.Invisible)

我该如何解决这个问题,是否有其他方法可以使 textview 不可见?

【问题讨论】:

  • 或许mytextview.SetVisible(false);?
  • 我在我的 IDE @DavidG 中也找不到 SetVisible()

标签: c# android xamarin textview


【解决方案1】:

你可以这样使用它:

mytextview.Visibility = ViewStates.Invisible;

要使用 ViewStates 枚举,您需要在 Activity/Fragment 类的顶部添加 Android.Views 命名空间。

using Android.Views;

我建议你为 Xamarin.Android 关注这个不错的 tutorial

【讨论】:

  • 谢谢,它解决了我的问题。但是我能知道为什么我不能使用这个函数 setVisibility() 以及为什么某些函数在我的 IDE 中没有定义吗? @apineda
  • setVisibility 是 Android 原生方式 (Java) 执行我建议您执行的操作。 Xamarin 伙计们将 Android SDK 中的许多方法翻译成更 C#-ish 的方式。因此,如果您来自 Android Java 背景,您只需要查找/学习这些方法和属性的翻译。
  • 明白。你能告诉我在哪里可以找到或学习这些方法的翻译吗?
  • Visual Studio 具有很好的智能感知功能,查看每个对象可用的内容应该很容易。如果某些东西在 Java 中以 get 或 set 开头,那么在 C# 中很可能这些是属性而不是方法。
  • 现在,我正在努力使用 getText() 功能。我需要从和 editText 获取文本,但 getTest() 函数不起作用。 @SKall
【解决方案2】:

尝试使用 mytextview.Visibility = ViewStates.Invisible; 如果我没记错的话应该可以解决的。

【讨论】:

  • ViewStates 在我的 IDE 中也不可用
【解决方案3】:

尝试更改大小写,使其看起来像这样。在 Android Studio 中,这是在编码时使其不可见且不会出错的唯一可能方法。

.setVisibility(View.INVISIBLE)

其他选择:

.setVisibility(View.VISIBLE) //Default
.setVisibility(View.GONE) 

GONE 和 INVISIBLE 的区别在于 GONE 不占用任何空间,而 INVISIBLE 只是让它,嗯,字面上不可见......

【讨论】:

  • 大写字母是什么意思? setVisibility() 在我的 IDE 中不可用。当我编写 .setVi 时,它并没有给我在 IDE 中使用 setVisibility() 的可能性。
  • 哦,那我想我帮不了你了。对不起 :( 改成 Android Studio 是不是有可能?
  • 我不这么认为,因为 Android Studio 不支持 c# 语言。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-30
  • 1970-01-01
  • 2016-09-19
  • 2021-11-06
  • 1970-01-01
  • 1970-01-01
  • 2017-01-25
相关资源
最近更新 更多