Tag: android

SwipeRefreshLayout和RecyclerView之间的差距

如何消除这两者之间的空隙? RecyclerView现在开始靠近屏幕的一半,从第一个元素到工具栏都有空白区域。 (只有当我添加足够的物品recyclerview开始顶部)。 我正在使用Kotlin和AnkoLayouts。 override fun createView(ui: AnkoContext): View = with(ui) { return relativeLayout { lparams(width = matchParent, height = matchParent) addItemButton = floatingActionButton { imageResource = android.R.drawable.ic_input_add }.lparams { margin = dip(10) alignParentBottom() alignParentEnd() alignParentRight() gravity = Gravity.BOTTOM or Gravity.END } swipeRefreshLayout = swipeRefreshLayout { rv = recyclerView { layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, true) […]

无法在Android Studio中分析Android应用程序

我试图在Android Studio 3.0.1中剖析我的应用程序,但我看不到哪些方法正在使用CPU,下面包含调用图和火焰图的列表总是空的,我正在使用SDK 26进行编译,请检查截图(一些我的课程是在Java和一些在Kotlin):

再循环查看项目选择

我有一个在kotlin中编码的recyclerview适配器。 我正在努力突出回收商视图的前四项。 我该怎么做? class BodyPartAdapter(var context: Context,var mRecyclerList: RecyclerView,var todayDate:Int, var bodyPartData: ArrayList, var bodyPartSelection: BodyPartSelection, var abc: Int, var firsttime: Boolean, var todayBodypartid: Int, b1: Boolean,var selectedBodypartId: Int, var bodyPartSelected: Boolean): RecyclerView.Adapter() { interface BodyPartSelection { fun onbodyPartClicked(firsttime:Boolean,bodyPart: BodyPart,selected:Boolean) } override fun getItemCount(): Int { return bodyPartData.size } override fun onCreateViewHolder(parent: ViewGroup?, viewType: Int): […]

Kotlin / Android应用程序使用Retrofit2。 JSON查询不能按我期望的那样工作

在一个小的android应用程序工作,以帮助我了解JSON查询。 小测试应用程序的工作,直到我试图深入钻到我的测试JSON数据。 我将发布一个链接到我正在使用的JSON数据,以节省空间。 这是来自weatherwunderground的API并托管在myjson.com上的示例代码。 JSON: https : //api.myjson.com/bins/19uurt 主要活动代码 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val retriever = CycloneRetriever() val callback = object : Callback { override fun onResponse(call: Call?, response: Response?) { println(“Got a response!”) println(response?.body()?.currenthurricane?.get(1)?.stormInfo?.get(0)?.stormName).toString() } override fun onFailure(call: Call?, t: Throwable?) { println(“The thing, it failed!”) […]

android gradle增量lint

因为我会在Android的增量Lint检查工作,我看了一些文章,我发现我可以在build.gradle中添加一个任务,然后通过重写LintGradleClient传递一些参数,应该按照文章中的描述工作,但是我按照文中所描述的,在增加了LintGradle参数的情况下,AndroidProject无法得到,我用kotlin实现了。有人可以帮我吗? 这里是文章的URL路径https://www.jianshu.com/p/4833a79e9396 我的代码获取AndroidProject作为Kotlin: fun getAndroidProject(): AndroidProject{ var gradleConn = GradleConnector.newConnector() gradleConn.forProjectDirectory(getProject().getProjectDir()) var modelProject = gradleConn.connect().getModel(com.android.builder.model.AndroidProject::class.java) return modelProject } 我执行任务,它告诉我这样的: 在这个版本中没有可用的“AndroidProject”types的模型。

为什么设置onClickListener一次工作?

我想把一个非常坚实的项目结构迁移到Kotlin上。 我首先尝试了基础:活动和片段交易。 看起来如此简单和容易: class MainActivity : AppCompatActivity(), SomeInterface { override fun onCreate(savedInstanceState: Bundle?) { setContentView(R.layout.activity_main) val mainFragment = supportFragmentManager.findFragmentById(R.id.fragment_main) as MainActionsFragment? ?: MainActionsFragment.newInstance() supportFragmentManager.inTransaction { add(R.id.container_main, mainFragment) } } private val anotherFragment by lazy { supportFragmentManager.findFragmentById(R.id.another_fragment) as AnotherFragment? ?: AnotherFragment.newInstance() } override fun myInterfaceMethod() { replaceFragment(anotherFragment, R.id.container_main) } } class MainActionsFragment : Fragment() { val […]

在使用Glide的Recyclerview中不显示图像

我有一个使用recyclerview的文章列表。 该列表是伟大的,但问题来了,当我尝试在recyclerview添加图像。 我正在使用Glide添加图像。 我已经成功添加使用导航抽屉滑翔添加图像,但是当我尝试在RecyclerView它显示没有比我默认的图像来源。 这是我的kotlin , class InformationListActivity : MainActivity() { private val glide: RequestManager? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_information_list) val toolbar = findViewById(R.id.toolbar) as Toolbar setSupportActionBar(toolbar) supportActionBar!!.setDisplayHomeAsUpEnabled(true) supportActionBar!!.setDisplayShowHomeEnabled(true) val user = FirebaseAuth.getInstance().currentUser val uName = user?.displayName val uEmail = user?.email val uPhotoUrl = user?.photoUrl user?.uid val navigationView = findViewById(R.id.nav_view) as […]

与Android上的加密相比,解密要慢得多

我在Kotlin使用“CBC”模式和“PKCS5Padding”填充实现了“AES”加密和解密。 我注意到,虽然解密cipherInputStream.read(buffer)只读取512个字节,而不是8192字节的完整缓冲区大小。 这是为什么? 加密时使用整个缓冲区。 这些是我正在使用的常量, private val TRANSFORMATION = “AES/CBC/PKCS5Padding” private var SECRET_KEY_FAC_ALGORITHM = “PBKDF2WithHmacSHA1” private val SECRET_KEY_SPEC_ALGORITHM = “AES” private val cipher = Cipher.getInstance(TRANSFORMATION) private val random = SecureRandom() private val KEY_BITS_LENGTH = 256 private val IV_BYTES_LENGTH = cipher.blockSize private val SALT_BYTES_LENGTH = KEY_BITS_LENGTH / 8 private val ITERATIONS = 10000 解密代码 cis = […]

如何保持伴随对象Kotlin中的单例类对象的引用

我想要转换的代码如下: public class AndroidLauncher extends AndroidApplication { public static AndroidLauncher androidLauncher; @Override protected void onCreate (Bundle savedInstanceState) { super.onCreate(savedInstanceState); androidLauncher = this; } } android studio生成的代码是什么; class AndroidLauncher : AndroidApplication() { protected override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) androidLauncher = this } companion object { var androidLauncher: AndroidLauncher } } 这段代码给了我错误,这是; 财产必须被初始化或是抽象的 我正在开发一个libgdx游戏,所以我会使用这种方法从任何地方使用Game对象。 这是一个单独的类,所以它不会泄漏任何内存。

我怎样才能从可观察到的价值

我在我的Kotlin项目中有这个function。 我正在使用ReactiveNetwork – Android库监听网络连接状态以及与RxJava Observables的Internet连接。 我是新来的反应式编程,现在我需要重构这个方法在很多地方使用这个。 我怎样才能重构此方法只是返回互联网连接状态(isConnected)? private fun downloadProductIfConnected(arguments: Bundle){ ReactiveNetwork.checkInternetConnectivity().subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe{ isConnected -> if (isConnected){ downloadAndOpenProduct(arguments) }else{ displayConnectionErrorDialog(arguments) } } }