![](/img/trans.png)
[英]How can I save the state and value of button press between views in a viewpager?
[英]How can I show a button when all views are viewed in viewpager?
現在,我有一個保存按鈕,僅在顯示viewpager內部的所有視圖時才顯示。 這意味着,當用戶在視圖之間滑動並查看viewpager中的所有視圖時,將顯示一個保存按鈕。
我想在以后查看所有視圖時在每個視圖上顯示“保存”按鈕。
我遇到的麻煩是如何設置邏輯。 我首先將保存按鈕設置為不可見,直到viewpager的最后一個視圖為止。 在viewpager的最后一個視圖上,顯示“保存”按鈕。 但是問題是,當用戶轉到最后一個視圖(有一個保存按鈕),然后又回到上一個視圖時,保存按鈕消失了。
因此,我想知道在用戶查看所有視圖之后如何在所有視圖上永久顯示保存按鈕?
這是我到目前為止的內容:
我的InstantiateItem()中有此代碼段:
if(isViewed)
{
save_button.setVisibility(Button.VISIBLE);
System.out.println("Is this called? isViewed = true");
}else if (position == numberOfPages.size()-1) {
isViewed = true;
save_button.setVisibility(Button.VISIBLE);
}
哪里
@Override
public void onPageSelected(int position) {
isViewed = true;
}
編輯:
我嘗試了以下解決方案,但是沒有運氣。
Button save_button = (Button) findViewById(R.id.save);
if(isViewed[position])
{
save_button.setVisibility(Button.VISIBLE);
}
if (position == numberOfPages.length-1 && !isViewed[position]) {
isViewed[position] = true;
save_button.setVisibility(Button.VISIBLE);
}
isViewed[position] =true;
和
isViewed[position] = true;
if (isViewed[position] == isViewed[numberOfPages.length-1]) {
save_button.setVisibility(Button.VISIBLE);
}
if (isViewed[position]) {
save_button.setVisibility(Button.VISIBLE);
} else {
save_button.setVisibility(Button.INVISIBLE);
}
boolean []isViewed = new boolean[noOfPages.size()];
@Override
public void onPageSelected(int position) {
if(isViewed[position])
{
save_button.setVisibility(Button.VISIBLE);
}
else {
save_button.setVisibility(Button.GONE);
}
isViewed[position] = true;
}
在您的onPageSelected
,執行以下操作
if(isViewed)
{
save_button.setVisibility(Button.VISIBLE);
}
if (position == numberOfPages.size()-1) {
isViewed = true;
save_button.setVisibility(Button.VISIBLE);
}
注意,上面是兩個單獨的if語句。
使您的isViewed
全局,默認為false
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.