コードでデモと同じ方法でタブを追加および削除しようとしています。arrayAdapter.remove
メソッドからremove()
デモがどのように行われるかを正確に呼び出すトグルボタンがあります。がarrayAdapter.remove
呼び出されると、要求された位置のタブは正しく削除されますが、変更はそのタブのヘッダーに反映されません。また、1 つのタブを削除した後に最後のタブをクリックしようとすると、何も起こりませんが、削除したいタブが削除されます。これがタブを再配置するロジックである場合、この null タブをどのように取り除くことができますか? タブにスワイプしようとすると、もうアクセスできないため、タブのフラグメントが削除されていることはわかっています。トグルボタンがクリックされたときに呼び出されるadd()
タブにタブを追加するという同様の問題があります。adapter.setTabsToShow()
add()
remove()
デモと同じです。以下にコードを掲載しました。
private void add(boolean before) {
int current=mViewPager.getCurrentItem();
SimplePageDescriptor desc=
new SimplePageDescriptor(buildTag(arrayAdapter.getCount()),
buildTitle(arrayAdapter.getCount()),0);
if (before) {
arrayAdapter.insert(desc, current);
}
else {
if (current < arrayAdapter.getCount() - 1) {
arrayAdapter.insert(desc, current + 1);
}
else {
arrayAdapter.add(desc);
}
}
}
private void remove() {
if (arrayAdapter.getCount() > 1) {
arrayAdapter.remove(1);
}
}
public void setTabsToSHow() {
remove();
}