我使用模糊效果,同时应用从资源加载的位图,它按预期工作,而使用通用图像加载器下载图像并应用于位图它导致A/libc:致命信号7(SIGBUS),代码2,故障地址0x9d56e000在tid 31955(AsyncTask#1)
public class MyActivity extends ActionBarActivity {
private ImageView ivBackground;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
ivBackground = (ImageView) findViewById(R.id.iv_background);
String imageUri = "https://upload.wikimedia.org/wikipedia/commons/c/c2/Macau-bus-1032.jpg";
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.init(ImageLoaderConfiguration.createDefault(this));
DisplayImageOptions options = new DisplayImageOptions.Builder()
.showImageForEmptyUri(Color.TRANSPARENT)
.showImageOnFail(Color.TRANSPARENT)
.resetViewBeforeLoading(true)
.cacheOnDisk(true)
.cacheInMemory(false)
.bitmapConfig(Bitmap.Config.RGB_565)
.considerExifParams(true)
.displayer(new FadeInBitmapDisplayer(300))
.build();
imageLoader.displayImage(imageUri, ivBackground, options, new SimpleImageLoadingListener() {
@Override
public void onLoadingComplete(final String imageUri, View view, final Bitmap loadedImage) {
Bitmap bmpTest = BitmapFactory.decodeResource(getResources(), R.drawable.test);
//final Bitmap cropedBitmap = Bitmap.createBitmap(bmpTest, 0, 0, bmpTest.getWidth() / 2, …Run Code Online (Sandbox Code Playgroud) @Query("SELECT * FROM userdata")
Flowable<List<UserData>> allUserDatas();
@Insert(onConflict = OnConflictStrategy.REPLACE)
List<Long> insert(List<UserData> datas);
userDao.allUserDatas()
take(1).
filter(....)
.subscribeOn(io())
.observeOn(mainThread())
.subscribe(userDatas -> Log.i("TAG",""+userDatas));
Run Code Online (Sandbox Code Playgroud)
我在onAttach()的同一个片段中添加了订阅提取但是在DB更新之后它没有调用从DB获取的订阅,为什么
我搜索项目,每次从服务器获取当我搜索“o”时它起作用,然后“ot”它再次起作用并且作为“o”搜索的结果我有20个项目,如果“ot”我有 10 个项目,它们是这 20 个项目的一部分,我确实删除了 EditText 中的 t,它显示了 20 个项目,只有 recyclerview 滚动指示器位于中间这是我的 diffUtil 代码
ListAdapter<Asset, SearchAdapter.ViewHolder>(object : DiffUtil.ItemCallback<Asset>() {
override fun areItemsTheSame(oldItem: Asset, newItem: Asset): Boolean {
return oldItem.assetId == newItem.assetId && oldItem.originalTitle ==newItem.originalTitle
}
override fun areContentsTheSame(oldItem: Asset, newItem: Asset): Boolean {
return oldItem == newItem
}
}
viewModel.searchAssets.observe(viewLifecycleOwner, Observer {
searchAdapter.submitList(it)
})
Run Code Online (Sandbox Code Playgroud)
在这里您可以看到我拍摄的视频 https://drive.google.com/drive/folders/1ia5y9TtL0PSAM1M4hVBILWcdSK1BDyKI?usp=sharing
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- enable window content transitions -->
<item name="android:windowContentTransitions">true</item>
<item name="android:windowActionBarOverlay">false</item>
<item name="android:windowSharedElementsUseOverlay">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)
或从转换中的java类导航和状态栏中排除
View decor = ((PhotosActivity)context).getWindow().getDecorView();
View statusBar = decor.findViewById(android.R.id.statusBarBackground);
View navBar = decor.findViewById(android.R.id.navigationBarBackground);
ActivityOptionsCompat options = ActivityOptionsCompat.
makeSceneTransitionAnimation((PhotosActivity) context,
new android.support.v4.util.Pair<>(photo, "photo")
new android.support.v4.util.Pair<>(statusBar, Window.STATUS_BAR_BACKGROUND_TRANSITION_NAME),
new android.support.v4.util.Pair<>(navBar, Window.NAVIGATION_BAR_BACKGROUND_TRANSITION_NAME));
);
context.startActivity(photoIntent, options.toBundle());
Run Code Online (Sandbox Code Playgroud)
它继续闪烁
在我使用时debounce(),然后从后端获取数据并将数据转换为另一个数据并最后使用toList().当我正在使用toList()时没有任何事情发生没有任何日志没有订阅和错误,没有toList()它的工作和subscribe()方法进入尽可能多的我有书的清单,我测试了它的第二部分代码它没有debounce()公正getItems()和使用toList()它工作.下面是我的代码与第一部分debounce()和itList()它不工作,第二个具有toList()哪些工作
public Flowable<List<Book>> getItems(String query) {}
textChangeSubscriber
.debounce(300, TimeUnit.MILLISECONDS)
.observeOn(Schedulers.computation())
.switchMap(s -> getItems(s).toObservable())
.flatMapIterable(items -> items)
.map(Book::convert)
.toList()
.observeOn(AndroidSchedulers.mainThread())
.subscribe(books -> {
Log.i("test", "" + books.toString());
}, error -> {
Log.i("test", "" + error);
});
getItems(query).flatMapIterable(items -> items)
.map(Book::convert)
.toList()
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe(books -> {
Log.i("test", "" + "" + books.toString());
}, error -> {
Log.i("test", "" + …Run Code Online (Sandbox Code Playgroud) 我需要询问联系人的权限,当应用程序启动时,我要问,在ViewModel部分,我需要调用需要权限的方法。我需要检查权限是否由用户授予,然后再调用,但是要检查权限,我需要具有访问活动。而在我的ViewModel中,我没有对Activity的引用,也不想拥有,如何解决该问题?
我想在 WebView 中加载一个 URL 并添加标题User-Agent和autoToken. 我试图val map = HashMap<String, String>()将其添加为webview.loadUrl(url, map).
第二次尝试只是覆盖shouldInterceptRequest().
override fun shouldInterceptRequest(view: WebView?, request: WebResourceRequest): WebResourceResponse? {
request.requestHeaders?.put(LegacyAuthInterceptor.HEADER_AUTH_TICKET, autoToken)
request.requestHeaders?.put("User-Agent", userAgent)
return super.shouldInterceptRequest(view, request)
}
Run Code Online (Sandbox Code Playgroud)
这些解决方案都不起作用。
我有这段代码我确实想测试loadSession(),正在testLoadSession()测试我用于单元测试的方法SuccessActivationCodeRepository,并且observeForTesting是扩展函数,您可以看到我在单元测试中添加了更长的延迟,但这无助于它为 sessionData 返回 null,如何才能我修好这个吗?
fun loadSession(activationCode: ActivationCode) {
viewModelScope.launch {
delay(START_DELAY)
when (val result = activationCodeRepository.fetchSession(activationCode)) {
is Response.Success<ISession> -> {
sessionMutableData.postValue(result.data)
}
is Response.Failure -> {
if (result.message == ERROR_RETRY_ACTIVATION) {
retryActivationMutableData.postValue(true)
} else {
errorMessageMutableData.postValue(ConsumableValue(result.message))
}
}
}
}
}
@Test
fun testLoadSession() {
viewModel.activationCodeRepository = SuccessActivationCodeRepository()
val activationCode = ActivationCode()
val expectedSession = Session("", "", "")
viewModel.loadSession(activationCode)
runBlocking {
delay(10000L)
}
viewModel.sessionData.observeForTesting {
assertThat(viewModel.sessionData.value?.sessionToken).isEqualTo(expectedSession.sessionToken)
}
}
class SuccessActivationCodeRepository : …Run Code Online (Sandbox Code Playgroud) 这是我设置主题频道的代码, {"ok":false,"error":"channel_not_found"}
当频道存在时我会收到并且我尝试使用channelId而不是使用#channelName。但没有区别。并且权限设置正确。
function setTopic1() {
var topic = 'testing'
var url = 'https://xxxx.slack.com/api/conversations.setTopic'
var payload = {
'channel': '#temp-w',
'token': token,
'topic': topic,
};
var options = {
'method': 'post',
'payload': payload,
};
if (topic.length > 250) {
Logger.log("Topic is too long, API request might fail")
}
var response = UrlFetchApp.fetch(url,options);
Logger.log(response)
}`
Run Code Online (Sandbox Code Playgroud) 我在CollapsingToolbarLayout中使用ImageView并且需要通过ImageView控制,在CollapsingToolbarLayout折叠结束时隐藏它并在ImageView上做一些,请任何想法都可以帮助我.有这样的选择
app:layout_scrollFlags="scroll|exitUntilCollapsed"
Run Code Online (Sandbox Code Playgroud)
但不是像"exitEndCollapsed"这样的选项.
将 dagger 接口从 java 转换为 Kotlin 时遇到一些问题
我得到 [Dagger/MissingBinding] java.util.Map 如果没有 @Provides 注释的方法就无法提供。
这是我的界面
interface TopicConfigModule {
@Binds
@IntoMap
@StringKey(NAME)
fun bindCommandHandler(handler: TopicCommandHandler): CommandHandler
companion object {
@JvmStatic
@Provides
@FragmentScope
fun provideHubsConfig(
commandRegistry: Map<String, CommandHandler>
): Config {
return ...
}
}
}
Run Code Online (Sandbox Code Playgroud)
CommandHandler是java接口
public interface HubsCommandHandler {```}
Run Code Online (Sandbox Code Playgroud) android ×10
kotlin ×2
rx-java ×2
android-collapsingtoolbarlayout ×1
android-mvvm ×1
bitmap ×1
dagger ×1
dagger-2 ×1
java ×1
javascript ×1
permissions ×1
persistence ×1
renderscript ×1
rx-android ×1
slack-api ×1