在故障回调中改进内部设置textview可见性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在故障回调中改进内部设置textview可见性相关的知识,希望对你有一定的参考价值。
我试图根据Retrofit返回的响应来设置Textview
的可见性。 onFailure
,我将可见性设置为可见的tv_no_cat.setVisibility(View.VISIBLE);
但是,这不起作用。我正在使用ContentLoadingProgressBar
做同样的事情并且它正常运作。这是我的代码
public void onFailure(Call<List<MoviesCategory>> call, Throwable t) {
tv_no_cat.setVisibility(View.VISIBLE); ////This does not work
Boolean x = tv_no_cat.getVisibility() == View.VISIBLE;
Toast.makeText(getContext(), "Network Error "+x, Toast.LENGTH_LONG).show(); //This shows true
tv_no_cat.setTextColor(Color.BLUE);
videoLoadingPb.setVisibility(View.GONE); //This works
}
我的猜测是我试图设置来自另一个线程的UI线程上的textview
。如果是这样,为什么它适用于ContentLoadingProgressBar
?
这是我的2个视图的xml
<android.support.v4.widget.ContentLoadingProgressBar
android:id="@+id/loading_categories"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_gravity="center"
android:visibility="visible" />
<TextView
android:layout_below="@id/loading_categories"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="No Movie Category Found"
android:id="@+id/tv_no_cat"
android:textAlignment="center"
android:layout_gravity="bottom"
android:visibility="gone"
/>
任何帮助我如何设置textview
可见性到VISIBLE
是受欢迎的。
来自docs:
在Android上,回调将在主线程上执行......
所以这不是你的问题,我怀疑它与Retrofit有关,特别是当它适用于另一种观点时。请确保您的xml设计没有问题,并且没有其他方法会影响此视图的可见性。
在Oncreate或其他地方注册Textview?你在片段活动中使用这段代码?
请检查一下......
tv_no_cat =(TextView)findViewById(R.id.tv_no_cat);(Inside Activity)
tv_no_cat =(TextView)rootView.findViewById(R.id.tv_no_cat);(Inside Fragment)
以上是关于在故障回调中改进内部设置textview可见性的主要内容,如果未能解决你的问题,请参考以下文章
可以将TextView放在RadioGroup中。但是,这是好的做法吗?
ListView 使 textview 在超出屏幕可见性时可见
在 AlertDialog 正按钮上更改 textView 的可见性