我在所有项目中使用android.support.design,今天我将其更新到最新版本
com.android.support:design:22.2.1
这是一个坏主意,因为我的项目崩溃了
java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
java.util.ArrayList.get(ArrayList.java:308)
android.support.design.widget.TabLayout.getTabAt(TabLayout.java:407)
android.support.design.widget.TabLayout.setupWithViewPager(TabLayout.java:585)
Run Code Online (Sandbox Code Playgroud)
经过一些调试,我发现这个方法有问题:
public void setupWithViewPager(@NonNull ViewPager viewPager) {
PagerAdapter adapter = viewPager.getAdapter();
if(adapter == null) {
throw new IllegalArgumentException("ViewPager does not have a PagerAdapter set");
} else {
this.setTabsFromPagerAdapter(adapter);
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(this));
this.setOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(viewPager));
if(this.mSelectedTab == null || this.mSelectedTab.getPosition() != viewPager.getCurrentItem()) {
this.getTabAt(viewPager.getCurrentItem()).select();// ERROR On my code I'm used empty adapter
}
}
}
Run Code Online (Sandbox Code Playgroud)
但在之前的lib.2.2.2.0版本中,一切正常:
public void setupWithViewPager(ViewPager viewPager) {
PagerAdapter adapter = viewPager.getAdapter();
if(adapter == …Run Code Online (Sandbox Code Playgroud) 我研究了Android WorkManager,并且遇到了一个问题。
我有2个作品,第一个作品从服务器和第二个预加载资源中获取一些数据(取决于第一作品的结果)。我每小时需要做一次这种链条。
我需要类似的东西:
workManager.beginWith(work1).then(work2)
Run Code Online (Sandbox Code Playgroud)
但是在WorkManger API中,我发现仅针对OneTimeWorkRequest的链。
我需要实现具有顶部渐隐边缘效果的 LazyColumn。在 Android 上,我对 ListView 或 RecyclerView使用淡入淡出渐变,但找不到 Jetpack Compose 的任何解决方案!
我试图修改画布:
@Composable
fun Screen() {
Box(
Modifier
.fillMaxWidth()
.background(color = Color.Yellow)
) {
LazyColumn(
modifier = Modifier
.fillMaxSize()
.drawWithContent {
val colors = listOf(Color.Transparent, Color.Black)
drawContent()
drawRect(
brush = Brush.verticalGradient(colors),
blendMode = BlendMode.DstIn
)
}
) {
itemsIndexed((1..1000).toList()) { item, index ->
Text(
text = "Item $item: $index value",
modifier = Modifier.padding(12.dp),
color = Color.Red,
fontSize = 24.sp
)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但有错误的结果: