首页 > 其他分享 >5.28每日总结

5.28每日总结

时间:2024-05-28 21:13:30浏览次数:19  
标签:总结 Log val 每日 子项 import android 5.28 view

今天计网考试,然后做建民老师的测试,科技查询政策的安卓端,将相关代码发在下面

package com.example.keji

import android.os.Bundle
import android.util.Log
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Button
import android.widget.EditText
import android.widget.LinearLayout
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.example.keji.Service.PolicyService
import com.example.keji.adapter.LeftAdapter
import com.example.keji.pojo.Policy
import com.example.network.ServiceCreator
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response


class LeftFragment : Fragment() {

    lateinit var searchInput:EditText
    lateinit var searchButton:Button
    lateinit var recyclerView:RecyclerView



    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        return inflater.inflate(R.layout.fragment_left,container,false)
    }

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        searchInput=view.findViewById(R.id.search_input)
        searchButton=view.findViewById(R.id.search_button)
        recyclerView=view.findViewById(R.id.recycler_view)
        val policyService=ServiceCreator.create<PolicyService>()


        searchButton.setOnClickListener {
            policyService.selectbyname(searchInput.text.toString()).enqueue(object :Callback<List<Policy>>{
                override fun onResponse(
                    call: Call<List<Policy>>,
                    response: Response<List<Policy>>
                ) {
                    val result=response.body()
                    Log.e("TAG", "onResponse: ${result}", )
                    if (result != null) {
                        Log.e("TAG", "onResponse: ${result.size}", )
                    }

                    recyclerView.layoutManager=LinearLayoutManager(context)
                    val dataList = result// 示例数据
                    recyclerView.adapter=LeftAdapter(dataList)
                }

                override fun onFailure(call: Call<List<Policy>>, t: Throwable) {
                    Log.e("TAG", "onFailure: ${t.printStackTrace()}", )
                }

            })
        }
    }


}
package com.example.keji


import MyExpandableListAdapter
import android.os.Bundle
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ExpandableListView
import android.widget.Toast
import androidx.fragment.app.Fragment
import com.example.keji.Service.PolicyService

import com.example.keji.pojo.Policy
import com.example.network.ServiceCreator
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
import kotlin.math.log

class RightFragment : Fragment() {

    lateinit var expandableListView:ExpandableListView
    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        return inflater.inflate(R.layout.fragment_right, container, false)
    }

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        expandableListView=view.findViewById(R.id.expandableListView)

        val policyService=ServiceCreator.create<PolicyService>()

        val firsts= listOf<String>("综合","科研机构改革","科技计划管理","科技经费与财务","基础研究","平台基地","产业","科技人才")
        // 创建一个空的可变 Map
        val data1: MutableMap<String, MutableList<String>> = mutableMapOf()
        for (first in firsts){

            policyService.gettree(first).enqueue(object :Callback<List<Policy>>{
                override fun onResponse(
                    call: Call<List<Policy>>,
                    response: Response<List<Policy>>
                ) {
                    val result=response.body()
                    val seconds =mutableListOf<String>()
                    if (result != null) {
                        for(res in result){
//                            Log.e("TAG", "name: ${res.name}", )
                            res.name?.let { seconds.add(it) }
                            Log.e("TAG", "firsts: ${firsts}", )
                            Log.e("TAG", "seconds: ${seconds}", )
                        }
                    }
                    Log.e("TAG", "onResponse: ${seconds}", )
                    data1[first]?.addAll(seconds)
                    Log.e("TAG", "data1: ${data1}", )
                }

                override fun onFailure(call: Call<List<Policy>>, t: Throwable) {
                    Log.e("TAG", "onFailure: ", )
                }

            })
        }

        val data = mapOf(
            "综合" to listOf("子项1.1", "子项1.2", "子项1.3"),
            "科研机构改革" to listOf("子项2.1", "子项2.2"),
            "科技计划管理" to listOf("子项3.1", "子项3.2", "子项3.3", "子项3.4"),
            "科技经费与财务" to listOf("子项3.1", "子项3.2", "子项3.3", "子项3.4"),
            "基础研究" to listOf("子项3.1", "子项3.2", "子项3.3", "子项3.4"),
            "平台基地" to listOf("子项3.1", "子项3.2", "子项3.3", "子项3.4"),
            "产业" to listOf("子项3.1", "子项3.2", "子项3.3", "子项3.4"),
            "科技人才" to listOf("子项3.1", "子项3.2", "子项3.3", "子项3.4"),
        )

        val adapter = MyExpandableListAdapter(data)
        expandableListView.setAdapter(adapter)

        // 设置子项点击事件
        expandableListView.setOnChildClickListener { parent, v, groupPosition, childPosition, id ->
            val groupName = adapter.getGroup(groupPosition)
            val childName = adapter.getChild(groupPosition, childPosition)
            Toast.makeText(context, "点击了子项:$groupName - $childName", Toast.LENGTH_SHORT).show()
            true
        }
    }

}

 

标签:总结,Log,val,每日,子项,import,android,5.28,view
From: https://www.cnblogs.com/gyg1222/p/18218897

相关文章

  • Web安全:SQL注入大方向知识总结
    1.SQL注入简介:SQL注入(SQLInjection)是Web安全中常见的一种攻击手段。攻击者通过在Web应用的输入字段中插入恶意的SQL代码片段,使得后端数据库执行非预期的SQL命令,从而窃取数据、篡改数据或进行其他恶意操作。 2.如何发生SQL注入:**不安全的编程习惯**:开发者直接将用户输......
  • pr找不到msvcr110.dll无法执行代码怎么解决?总结7个有效方法分享
    msvcr110.dll是MicrosoftVisualC++2012Redistributable的一个组成部分,这是一个动态链接库(DLL)文件。它主要用于存储许多程序共同使用的代码和资源,对于执行C++编写的应用程序极为关键。如何打开软件提示找不到msvcr110.dll或msvcr110.dll丢失,则可能意味着它已被误删或因......
  • PHP开发总结
    PHP开发总结目录PHP开发总结漏洞(可控变量特定函数)mysqli_select_db函数介绍mysqli_query()函数介绍intval()_wakeup()strcmp()assert()eval()include()readfile()call_user_func()trim()is_number()extract()parse_str()get_defined_vars()gettext()匿名函数(create_function)$_......
  • 《中国统计》文本分析技术最新进展总结盘点
    《中国统计》文章展示了文本分析在各个领域的应用,包括大语言模型、科技文献、数据分类、乡村振兴、数据资产评估、历史文献解读、学科融合、基础设施管理和社情民意调查等,凸显了文本分析在数据挖掘和决策支持中的重要作用。房祥忠.大语言模型中的统计方法[J].中国统计,2023,(0......
  • 总结
    联合查询查询DML语言插入修改删除DDL语言库的管理修改库名(不稳定,不建议)表的管理表添加列数据类型......
  • linux 系统概念总结
    一、MBR分区或GPT分区有什么区别MBR(MasterBootRecord)和GPT(GUIDPartitionTable)是用于在硬盘上进行分区的两种不同的标准容量支持:MBR:最大支持2TB的硬盘容量。GPT:支持非常大的硬盘容量,最大可达到数EB(Exabytes)级别。分区数限制:MBR:最多支持4个主分区,或者3个主分区和......
  • 文件包含FI漏洞总结
    文件包含漏洞模板文件包含读取?file=php://filter/convert.base64-encode/resource=xxx.php?file=php://filter/read=convert.base64-encode/resource=xxx.php文件包含?file=php://input?file=file://c:\boot.ini?file=data://text/plain;base64,SSBsb3ZlIFBIUAo=?file......
  • 可变数据类型(mutable)与不可变数据类型(immutable)总结
    一、基本概念不可变数据类型:当该数据类型的对应变量的值发生了改变,那么它对应的内存地址也会发生改变,对于这种数据类型,就称不可变数据类型。其中基本数据类型都是不可变数据类型,例如int,如果一个int类型的数据发生改变,那么它指向了内存中的另一个地址,但是需要注意的是java缓存了......
  • 深入解读 ChatGPT 的基本原理(个人总结版)
    引言背景人工智能(AI)技术自20世纪中期诞生以来,经历了多次革新和进步。从最早的图灵测试,到20世纪末的深蓝计算机击败国际象棋冠军,再到21世纪初谷歌AlphaGo击败围棋冠军,AI技术的飞速发展改变了人们的生活和工作方式。在众多AI应用中,自然语言处理(NLP)技术因其在语言理解和生成方面......
  • 5_27总结
    增强for循环一般for循环:int[]num={1,2,3,4,5,6};for(inti=0;i<num.length;i++){System.out.println("元素:"+num[i]);}增强for循环:int[]num={1,2,3,4,5,6};for(inti:num){//集合或数组a:数组名称numSystem.out.println......