From 5c33b093e237434ed13fa37de391ab281619edb3 Mon Sep 17 00:00:00 2001 From: Zhao Gang Date: Tue, 19 Jun 2018 12:44:39 +0800 Subject: [PATCH] fix runtime error The layout file main.xml uses TabLayoutLite, but the code in MainActivity.java uses TabLayout. This causes runtime error as "java.lang.ClassCastException: com.commonsware.cwac.crossport.design.widget.TabLayoutLite cannot be cast to com.commonsware.cwac.crossport.design.widget.TabLayout". Change the code to use TabLayoutLite fixed this error. --- .../commonsware/android/rvp/MainActivity.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/General/TabbedEditor/app/src/main/java/com/commonsware/android/rvp/MainActivity.java b/General/TabbedEditor/app/src/main/java/com/commonsware/android/rvp/MainActivity.java index 5f8ccf3..686afb1 100644 --- a/General/TabbedEditor/app/src/main/java/com/commonsware/android/rvp/MainActivity.java +++ b/General/TabbedEditor/app/src/main/java/com/commonsware/android/rvp/MainActivity.java @@ -23,14 +23,14 @@ import android.support.v7.widget.SnapHelper; import android.view.Menu; import android.view.MenuItem; -import com.commonsware.cwac.crossport.design.widget.TabLayout; +import com.commonsware.cwac.crossport.design.widget.TabLayoutLite; public class MainActivity extends FragmentActivity { private final SnapHelper snapperCarr=new PagerSnapHelper(); private RecyclerViewEx pager; private PageAdapter adapter; private LinearLayoutManager layoutManager; - private TabLayout tabs; + private TabLayoutLite tabs; private MenuItem remove; private EditorViewModel viewModel; @@ -60,19 +60,19 @@ public void onCreate(Bundle savedInstanceState) { tabs.addTab(tabs.newTab().setText(adapter.getTabText(i))); } - tabs.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { + tabs.addOnTabSelectedListener(new TabLayoutLite.OnTabSelectedListener() { @Override - public void onTabSelected(TabLayout.Tab tab) { + public void onTabSelected(TabLayoutLite.Tab tab) { pager.smoothScrollToPosition(tab.getPosition()); } @Override - public void onTabUnselected(TabLayout.Tab tab) { + public void onTabUnselected(TabLayoutLite.Tab tab) { // unused } @Override - public void onTabReselected(TabLayout.Tab tab) { + public void onTabReselected(TabLayoutLite.Tab tab) { // unused } }); @@ -167,8 +167,8 @@ private void swap() { adapter.swap(first, second); - TabLayout.Tab firstTab=tabs.getTabAt(first); - TabLayout.Tab secondTab=tabs.getTabAt(second); + TabLayoutLite.Tab firstTab=tabs.getTabAt(first); + TabLayoutLite.Tab secondTab=tabs.getTabAt(second); CharSequence firstText=firstTab.getText(); firstTab.setText(secondTab.getText());