鍍金池/ 問答/ Android問答
心上人 回答

在項(xiàng)目的gradle.properties中:設(shè)置android.enableAapt2=false
https://github.com/wuyunqiang...

櫻花霓 回答

Caused by: kotlin.UninitializedPropertyAccessException: lateinit property Myjson has not been initialized

這個(gè)意思大概是使用了lateinit修飾的屬性在使用前必須初始化

你如果不能保證在使用前初始化,那么建議使用 var Myjson:container? = null的方式來使用
在后面使用的時(shí)候應(yīng)該用container?.foo()的方式來調(diào)用方法


也許不應(yīng)該說,但是你的變量命名規(guī)則太不符合規(guī)范了
類名大寫開頭,變量小寫開頭,除常量外不用下劃線,采用駝峰命名

這個(gè)可以說是基本約定的規(guī)范

https://www.cnblogs.com/han-1...
阿里的java編程規(guī)范,在kotlin中也基本適用,建議你去看看

初念 回答

需要在

manager.getCookieStore();之前再做一次openConnection();和getInputStream();
也可以考慮用HttpClient獲取cookie
CookieStore cookieStore = new BasicCookieStore();
httpClient = HttpClients.custom().setDefaultCookieStore(cookieStore).build();
List<Cookie> cookies = cookieStore.getCookies();
命于你 回答

Js 調(diào)用 Android 側(cè)的 Java 代碼需要 Android 側(cè)編寫通信接口:

public class YourJavaScriptInterface {
    @JavascriptInterface        //使用該注解表明該方法可以被js調(diào)用到
    public void command(string: String) {
        
    }
}

將該通信接口綁定到 WebView 上:

webView.addJavascriptInterface(new YourJavaScriptInterface(), xxx);  //第二個(gè)參數(shù)為暴露給 js 的名字

WebView 要允許 js 的執(zhí)行:

webView.getSettings().setJavaScriptEnabled(true);

然后 js 側(cè)就可以用以下方式調(diào)用到 Android 側(cè)的方法了:

window.xxx.command('hello');

基本的 Android 與 Js 交互可以參考鄙人寫的一篇博客:Android 與 Javascript 的交互

舊言 回答

wow so many codes

半心人 回答

我之前也是沒有自動(dòng)補(bǔ)全,不能支持代碼跳轉(zhuǎn),我都不知道我是咋寫的代碼。
現(xiàn)在我知道了,你要在你的build.gradle里面加入這些話

//也可以使用CMake
externalNativeBuild {
    ndkBuild {
        path 'src/main/jni/Android.mk'
    }
}
//設(shè)置src所在的位置以下也是需要的
sourceSets.main{
    jni.srcDirs = ['src/main/jni']
    jniLibs.srcDirs = ['']
}

野橘 回答

你這里是一個(gè)私有的構(gòu)造方法
private CartProvider(Context mContext) {

this.mContext = mContext;
datas = new SparseArray<>(100);
listToSparse();

}
可能你實(shí)例化時(shí)用的是無參數(shù)的構(gòu)造方法:
CartProvider cartProvider = new CartProvider()
mContext 這時(shí) 為null

嫑吢丕 回答

tempButton.setTextColor(R.drawable.channel_text_color_selector)不能這樣用
setTextColor他的參數(shù)是int color不是drawableResId
你可以使用settextColor方法設(shè)置ColorStateList 來實(shí)現(xiàn)你的需求,或者直接設(shè)置一個(gè)radiobutton的xml布局將其添加過來也行

孤酒 回答

Android不同版本so的拷貝策略不同,多個(gè)ABI下面的so不同,系統(tǒng)在安裝app時(shí)可能會(huì)發(fā)生拷貝so缺失的現(xiàn)象,運(yùn)行時(shí)會(huì)發(fā)生找不到so的崩潰,參考https://zhuanlan.zhihu.com/p/...
建議有必要保留的ABI目錄下的so數(shù)目保持一致。

熟稔 回答

沒記錯(cuò)的話android P所有隱藏方法已經(jīng)不允許開發(fā)者通過任何形式進(jìn)行調(diào)用了吧,反射都不行。

下墜 回答

一般來說 要兼容 最新版本往下三個(gè)版本.
比如最新的是7,那么必須兼容 6 5 4 三個(gè)版本

你完全可以使用一個(gè)第三方庫來解決這個(gè)問題,https://github.com/truizlop/S...

ViewPager內(nèi)的Fragment間交互處理起來會(huì)比較麻煩,而最簡單的方法就是使用EventBus
參考:Communication between Fragments in ViewPager

另外也可以參考:
Dynamically updating a fragment

尋仙 回答

網(wǎng)絡(luò)異步加載更新View可能會(huì)導(dǎo)致你說的情況,方案:
1.ViewPager的setOffscreenPageLimit方法提高預(yù)加載數(shù)量,保證滑動(dòng)時(shí)不會(huì)銷毀fragment,缺點(diǎn)僅限于有限級(jí)加載
2.對(duì)網(wǎng)絡(luò)請(qǐng)求下手,銷毀頁面的同時(shí)取消網(wǎng)絡(luò)請(qǐng)求
3.網(wǎng)絡(luò)請(qǐng)求成功,判斷是否銷毀再行更新View

陌上花 回答

this.post在 created 是可以調(diào)用到的, 你的 done 這里是否存在問題

附 vue 組件生命周期
clipboard.png

故人嘆 回答

1、invisible view設(shè)置為invisible時(shí),view在layout布局文件中會(huì)占用位置,但是view為不可見,該view還是會(huì)創(chuàng)建對(duì)象,會(huì)被初始化,會(huì)占用資源。
2、gone view設(shè)置gone時(shí),view在layout布局文件中不占用位置,但是該view還是會(huì)創(chuàng)建對(duì)象,會(huì)被初始化,會(huì)占用資源。