按钮的setvisibility在android中不起作用
基本上,这个想法是在点击时在activity address中添加地址,并且它将重定向到下一页,用户在Submit上获取地址表单,它将获取地址并添加到以前的activity recycleview 场景:-- 1-->当recycleview在地址活动中为空时,它会显示空文本,并且按钮不可见==>此处没有问题 2-->当recycleview在地址中不为空时,活动空文本消失,但按钮不可见==>我无法看到按钮的可见性==>问题就在这里 这是我的代码-->按钮的setvisibility在android中不起作用,android,kotlin,android-recyclerview,empty-list,Android,Kotlin,Android Recyclerview,Empty List,基本上,这个想法是在点击时在activity address中添加地址,并且它将重定向到下一页,用户在Submit上获取地址表单,它将获取地址并添加到以前的activity recycleview 场景:-- 1-->当recycleview在地址活动中为空时,它会显示空文本,并且按钮不可见==>此处没有问题 2-->当recycleview在地址中不为空时,活动空文本消失,但按钮不可见==>我无法看到按钮的可见性==>问题就在这里 这是我的代码--> class AddressActivity
class AddressActivity:AppCompatActivity(){
私有lateinit变量数据:LiveData
私有变量数据1:Int=0
变量适配器:AddressAdapter?=null
重写创建时的乐趣(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.address)
var mActionBarToolbar=findviewbyd(R.id.toolbatable);
设置支持操作栏(mActionBarToolbar);
//将返回箭头添加到工具栏
如果(getSupportActionBar()!=null){
getSupportActionBar()?.setDisplayHomeAsUpEnabled(true);
getSupportActionBar()?.setDisplayShowHomeEnabled(true);
getSupportActionBar()?.setHomeAsUpIndicator(R.drawable.ic键盘箭头左箭头黑色24dp);
//supportActionBar?.setTitle(“表格”)
getSupportActionBar()?.setTitle((Html.fromHtml(““+getString(
R.string.address)+“”);
}
addbutton.findViewById(R.id.addbutton).setOnClickListener{
val intent=intent(这是AddAddressActivity::class.java)
星触觉(意图)
}
LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver,
IntentFilter(“自定义消息1”)
)
val recyclerView=findviewbyd(R.id.recyclerView)
recyclerView.setHasFixedSize(真)
recyclerView.layoutManager=LinearLayoutManager(此,LinearLayoutManager.VERTICAL,false)
val适配器=地址适配器(applicationContext)
recyclerView.adapter=适配器
回收视图。附加装饰(
分割(
recyclerView.context,
DividerItemDecoration.VERTICAL
)
)
recyclerView.addOnScrollListener(对象:
RecyclerView.OnScrollListener(){
覆盖CrollStateChanged(recyclerView:recyclerView,newState:Int){
super.onScrollStateChanged(recyclerView、newState)
Log.e(“RecyclerView”、“onScrollStateChanged”)
}
覆盖已克隆的乐趣(recyclerView:recyclerView,dx:Int,dy:Int){
super.onScrolled(回收视图、dx、dy)
}
})
val应用程序=作为自定义应用程序的应用程序
data=application.database.AddressDao().getAddressesWithChanges()
观察(这个,观察者{words1->
//更新适配器中单词的缓存副本。
words1?.let{adapter.updateData(it)}
})
如果(!data.hasActiveObservers()){
ordernow.setVisibility(View.GONE)
emptytext.setVisibility(View.VISIBLE)
}否则{
ordernow.setVisibility(View.VISIBLE)
emptytext.setVisibility(View.GONE)
}
}
需要帮助谢谢更换此
data.observe(this, Observer { words1 ->
// Update the cached copy of the words in the adapter.
words1?.let { adapter.updateData(it) }
})
if (!data.hasActiveObservers()) {
ordernow.setVisibility(View.GONE)
emptytext.setVisibility(View.VISIBLE)
} else {
ordernow.setVisibility(View.VISIBLE)
emptytext.setVisibility(View.GONE)
}
到
您已接近答案…将您的答案更改为-->如果(words1.size>0){ordernow.setVisibility(View.VISIBLE)emptytext.setVisibility(View.GONE)}或者{ordernow.setVisibility(View.GONE)emptytext.setVisibility(View.VISIBLE)}我将接受它
data.observe(this, Observer { words1 ->
// Update the cached copy of the words in the adapter.
words1?.let { adapter.updateData(it) }
})
if (!data.hasActiveObservers()) {
ordernow.setVisibility(View.GONE)
emptytext.setVisibility(View.VISIBLE)
} else {
ordernow.setVisibility(View.VISIBLE)
emptytext.setVisibility(View.GONE)
}
data.observe(this, Observer { words1 ->
if (words1.size > 0) {
ordernow.setVisibility(View.VISIBLE) emptytext . setVisibility (View.GONE)
} else {
ordernow.setVisibility(View.GONE) emptytext . setVisibility (View.VISIBLE)
}
words1?.let { adapter.updateData(it) }
})