[英]setvisibility for button is not working in android
基本上這個想法是在點擊加號時在活動地址中添加地址,它將重定向到下一頁,用戶在提交時獲取地址表單,它將獲取地址並添加到以前的活動回收視圖。
場景:--
1-->當地址活動中的recycleview為空時,它顯示空文本並且按鈕不可見==>這里沒問題
2-->當地址活動中的recycleview不為空時,空文本消失了但按鈕不可見==>我看不到按鈕的可見性==>問題就在這里
這是我的代碼-->
class AddressActivity : AppCompatActivity(){
private lateinit var data: LiveData<MutableList<Address>>
private var data1:Int = 0
var adapter: AddressAdapter? =null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.address)
var mActionBarToolbar = findViewById<androidx.appcompat.widget.Toolbar>(R.id.toolbartable);
setSupportActionBar(mActionBarToolbar);
// add back arrow to toolbar
if (getSupportActionBar() != null){
getSupportActionBar()?.setDisplayHomeAsUpEnabled(true);
getSupportActionBar()?.setDisplayShowHomeEnabled(true);
getSupportActionBar()?.setHomeAsUpIndicator(R.drawable.ic_keyboard_arrow_left_black_24dp);
//supportActionBar?.setTitle("Tables")
getSupportActionBar()?.setTitle((Html.fromHtml("<font color=\"#FFFFFF\">" + getString(
R.string.address) + "</font>")));
}
addbutton.findViewById<View>(R.id.addbutton).setOnClickListener {
val intent = Intent(this, AddAddressActivity::class.java)
startActivity(intent)
}
LocalBroadcastManager.getInstance(this).registerReceiver(mMessageReceiver,
IntentFilter("custom-message1")
)
val recyclerView = findViewById<RecyclerView>(R.id.recyclerview)
recyclerView.setHasFixedSize(true)
recyclerView.layoutManager = LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false)
val adapter = AddressAdapter(applicationContext)
recyclerView.adapter = adapter
recyclerView.addItemDecoration(
DividerItemDecoration(
recyclerView.context,
DividerItemDecoration.VERTICAL
)
)
recyclerView.addOnScrollListener(object :
RecyclerView.OnScrollListener() {
override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) {
super.onScrollStateChanged(recyclerView, newState)
Log.e("RecyclerView", "onScrollStateChanged")
}
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
super.onScrolled(recyclerView, dx, dy)
}
})
val application = application as CustomApplication
data = application.database.AddressDao().getAddressesWithChanges()
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 ->
// 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) }
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.