RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-205300

Ethernets's questions

Martin Hope
Ethernets
Asked: 2022-08-24 19:02:24 +0000 UTC

填充 C# 时按空行分隔 DataGrid 数据

  • 0

请告诉我,填写DataGrid WinForm时是否可以用空行分隔数据,例如:我们从数据库中卸载到选定日期工作的企业员工的List列表:

Вася - инженер
Вася - электрик
Петя 2 - инженер
Алиса - бухгалтер
Петя - инженер 
Наташа - кладовщик
Саша - электрик 

需要按员工的位置排序,把所有工程师一个接一个地放好,缩进一行,也就是把员工分开,然后所有电工去,等等。该表使用 foreach 循环填充。

foreach(var u in user)
{
  dataGrid.Rows.Add(u.Name, u.Position);
}
c#
  • 1 个回答
  • 26 Views
Martin Hope
Ethernets
Asked: 2022-08-18 02:50:06 +0000 UTC

将数据添加到数据库一对多实体框架

  • 0

我正在学习 EF,遇到了一些使用一对多数据库的问题。例如,我有两个表:

第一个:用户

第二:角色

例如,角色表应包含两个角色“管理员”和“超级管理员”,其 ID 应分配给用户表中的必填字段。但是当我想让三个用户设置一个已经存在的角色时,结果是“管理员”角色是重新创建的,并且用户被分配了新角色的 id。如何成为并与之合作?

用户

public class Users
{
    [Key]
    public int Id { get; set; }
    [Required]
    public string Login { get; set; }
    [Required]
    public string Password { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Email { get; set; }

    public int? RoleId { get; set; }
    public Role Role { get; set; }
}

角色

public class Role
{
    [Key]
    public int Id { get; set; }
    public string Name { get; set; }
    public ICollection<Users> UserAll { get; set; }

    public Role()
    {
        UserAll = new List<Users>();
    }
}

执行录制本身

using (AppContext db = new AppContext())
{
    var role1 = new Role { Name = "Administrator" };
    var user1 = new Users { Login = "admin", Password = "1231", Role = role1, Email = "test@gmail.com", FirstName = "null", LastName = "null"};
    db.Users.AddRange(new List<Users>{user1});
    db.SaveChanges();
}

我唯一想到的就是提前从 Role 表中下载数据,然后将其与用户输入的内容进行比较,然后才将其分配给选定的 id。

c# entity-framework
  • 1 个回答
  • 39 Views
Martin Hope
Ethernets
Asked: 2022-07-15 16:42:31 +0000 UTC

改造错误处理

  • 0

问题的本质是从服务器读取API时,我得到3个参数“状态,错误,打印”,但碰巧服务器可能没有返回1个字段,例如,“状态,错误”和“ print" 丢失,或者响应中可能有错误,例如“status, error”,即响应中多出一个字符,应用程序崩溃,并且它在不输出日志的情况下静默崩溃,如何捕获错误并显示一条消息,使应用程序处于工作状态。

    interface PrintApi {

    @GET
    suspend fun getPrintCommands(@Url url: String, @Query("bib") bib: Int?, @Query("card") card: String): PrintResponse
}


@Keep
@Serializable
data class PrintResponse(
    val ok: Boolean? = false,
    val error: String = readLine() ?: "", //test
    val printout: List<PrintCmd>? = null
)

称呼:

  private suspend fun getCommands(url: String, bib: Int?, tagNumber: String): List<PrintCmd>? {
        try {
            val result = api.getPrintCommands(url, bib, tagNumber) // приложение молча падает на этой строчке

            if (result.ok == true && result.error.isBlank()  && result.printout != null)
            {
            return result.print
            }
            else
            {
                return null
            }
        } catch (e: HttpException) {
            Log.e("TEST", e.message())
            Logger.w(e)
        } catch (e: IOException) {
            Log.e("TEST", e.toString())
            Logger.w(e)
        }
        return null
    }

这是工作 JSON 文件的样子:

{   "ok":true, "error":"ERROR_PRINT","printout" : [] }

损坏的 JSON 文件的响应如下所示:

{   "ok":true, "error":"ERROR_PRINT", } 

设法得到一个错误

没有参数调用私有 ru.osport.osportnfc.model.api.PrintCmd() 失败

PrintCmd 类本身:

@Keep
@Serializable
sealed class PrintCmd()

继承

@Keep
@Serializable
@SerialName("normal_text")
data class PrintTextCmd(
    val content: String,
    val font_size: Int,
    val align: String,
    val bold: Boolean,
    val italic: Boolean
) : PrintCmd()
android
  • 1 个回答
  • 10 Views
Martin Hope
Ethernets
Asked: 2022-07-03 14:26:49 +0000 UTC

从另一个 C# 表单单击任何按钮时,将焦点设置为 TextEdit 和键盘输入

  • 0

有 3 个表单 MainForm()、Form1(MainForm())、Form2(),在 Form 1 中 MainForm 通过构造函数传递,我需要从 Form2() 更新 TextEdit Form1()。我制作了一个不接受任何参数的空 Form1 构造函数,当应用程序启动时,与另一个表单中的按钮交互时,您需要不断关注 textEdit

在代码中它看起来像这样:在 Form1() 中:

public Form1()
    {
        InitializeComponent();
        Testi();
    }

    public void Testi()
    {
        this.searchTextEdit.Text = "";
        this.searchTextEdit.Focus();
        
    }

请帮助我在 Form1() 中调用时正确地将焦点放在 Form2() 中的 TextEdit 中,谢谢。

表格2:

  Form2()
   {
        Form1 test = new Form1;
        Action showMethod = test.Testi;
        showMethod();
    }

我尝试通过Action委托来做,但问题是焦点仍然没有放在输入字段中

c# .net
  • 2 个回答
  • 61 Views
Martin Hope
Ethernets
Asked: 2022-04-29 00:36:16 +0000 UTC

使用 Kotlin 片段时不必要的数据重复

  • 0

帮助我理解为什么按下手机的“返回”按钮时数据重复,即我们有一个12个字段的列表,当从主片段移动到子片段再返回时,列表已经有24个字段,我们重复相同的步骤和列表已经是36个字段,等等现在也许记忆不会结束。

英雄碎片

 class HeroesFragment : Fragment() {

    private var mBinding: FragmentHeroesBinding? = null

    private lateinit var mAllInfoApex: HeroesViewModel

    private lateinit var mHeroesAdapter: HeroesAdapter

 override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setHasOptionsMenu(true)

    }

    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View {
            mBinding = FragmentHeroesBinding.inflate(inflater, container, false)
            return mBinding!!.root
    }
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        mAllInfoApex =
            ViewModelProvider(this).get(HeroesViewModel::class.java)

        mAllInfoApex.getAllInfoApexFromAPI(Constants.API_PLAYER_VALUE)

        mBinding?.rvHeroList?.layoutManager = GridLayoutManager(requireActivity(), 2)

        mHeroesAdapter = HeroesAdapter(this@HeroesFragment)

        mBinding?.rvHeroList?.adapter = mHeroesAdapter

        InfoApexViewModelObserver()
    }
        fun heroesDetails(legends: Heroes){
        findNavController().navigate(HeroesFragmentDirections.actionAllHeroesToHeroesDetails(legends))
    }

    override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
        inflater.inflate(R.menu.menu_profile, menu)
        super.onCreateOptionsMenu(menu, inflater)
    }
        override fun onDestroy() {
        super.onDestroy()
        mBinding = null
    }
}

详情英雄片段

class DetailsHeroesFragment : Fragment() {

    private var mBinding: FragmentDetailsHeroesBinding? = null

    //private val hero : ArrayList<AllHeroes.Data>? = null


    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

    }

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        mBinding = FragmentDetailsHeroesBinding.inflate(inflater, container, false)
        // Inflate the layout for this fragment
        return mBinding!!.root
    }

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        val args: DetailsHeroesFragmentArgs by navArgs()

        Glide.with(this)
            .load(args.heroesDetails.data.ImgAssets.banner)
            .into(mBinding!!.ivHeroesDetails)

        mBinding!!.tvHeroesName.text = args.heroesDetails.name

        args.heroesDetails.data.let { values ->
            when {
                values.data.isNullOrEmpty() -> {
                    mBinding!!.tvDataName.text = "NOT DATA"

                    mBinding!!.tvDataValue.visibility = View.INVISIBLE
                    mBinding!!.tvDataName2.visibility = View.INVISIBLE
                    mBinding!!.tvDataValue2.visibility = View.INVISIBLE
                    mBinding!!.tvDataName3.visibility = View.INVISIBLE
                    mBinding!!.tvDataValue3.visibility = View.INVISIBLE
                    mBinding!!.tvDataName4.visibility = View.INVISIBLE
                    mBinding!!.tvDataValue4.visibility = View.INVISIBLE

                    Log.i("Heroes test", "test")
                }
  else -> {
                    mBinding!!.tvDataName.visibility = View.INVISIBLE

                    mBinding!!.tvDataValue.visibility = View.INVISIBLE
                    mBinding!!.tvDataName2.visibility = View.INVISIBLE
                    mBinding!!.tvDataValue2.visibility = View.INVISIBLE
                    mBinding!!.tvDataName3.visibility = View.INVISIBLE
                    mBinding!!.tvDataValue3.visibility = View.INVISIBLE
                    mBinding!!.tvDataName4.visibility = View.INVISIBLE
                    mBinding!!.tvDataValue4.visibility = View.INVISIBLE
                }
            }
        }
    }

    override fun onDestroy() {
        super.onDestroy()
        mBinding = null
    }
}

主要活动

class MainActivity : AppCompatActivity() {

    private lateinit var mBinding: ActivityMainBinding
    private lateinit var mNavController: NavController


    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        mBinding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(mBinding.root)

        mNavController = findNavController(R.id.nav_host_fragment_activity_main)
        // Passing each menu ID as a set of Ids because each
        // menu should be considered as top level destinations.
        val appBarConfiguration = AppBarConfiguration(
            setOf(
                R.id.navigation_all_heroes,
                R.id.navigation_match_history,
                R.id.navigation_funny_videos
            )
        )
        setupActionBarWithNavController(mNavController, appBarConfiguration)
        mBinding.navView.setupWithNavController(mNavController)

    }
    override fun onSupportNavigateUp(): Boolean {
        return NavigationUI.navigateUp(mNavController, null)
    }    
}

也就是说,当我从DetailsHeroesFragment返回到HeroesFragment时,会在现有数据中添加一列完全相同的数据,如何解决这个问题?或者我在哪里错过了什么?在日志中,我看到数据是如何创建 2 次的,然后在转换期间又是 +2 次,等等。 在此处输入图像描述

视图模型

class HeroesViewModel: ViewModel() {

    private val allInfoApexAPIService = AllInfoApexAPIService()

    private val compositeDisposable = CompositeDisposable()

    val loadAllInfoApex = MutableLiveData<Boolean>()
    val allInfoApexResponse = MutableLiveData<AllHeroes.Heroes>()
    val allInfoApexLoadingError = MutableLiveData<Boolean>()

    fun getAllInfoApexFromAPI(username: String){
        loadAllInfoApex.value = true

        compositeDisposable.add(
            allInfoApexAPIService.getAllInfoApexTracker(player = username)
                .subscribeOn(Schedulers.newThread())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribeWith(object: DisposableSingleObserver<AllHeroes.Heroes>(){
                    override fun onSuccess(value: AllHeroes.Heroes) {
                        loadAllInfoApex.value = false
                        allInfoApexResponse.value = value
                        allInfoApexLoadingError.value = false

                    }

                    override fun onError(e: Throwable) {
                        loadAllInfoApex.value = false
                        allInfoApexLoadingError.value = true
                        e.printStackTrace()
                    }

                })
        )
    }
}
android
  • 1 个回答
  • 10 Views
Martin Hope
Ethernets
Asked: 2022-08-22 21:38:37 +0000 UTC

如何正确地将 ArrayList 传递给另一个活动

  • 0

我有以下数据类:

data class LegendWrapper(
    val data: List<PlayerPerformance>? = emptyList()

)
data class PlayerPerformance(val name: String, val value: Int, val key: String)

data class TestList(val name: String, val data: LegendWrapper)

然后我完成了三月的清单

for((key, value ) in data.legends.all){
recList.add(TestList(key, value))
}

然后,当单击 RecyclerView 中的名称时,我想在另一个活动中获取数据。我尝试按照下面的示例执行此操作,但结果我以字符串的形式获取数据,使用它根本无法正常工作,我尝试通过putParcelableArrayListExtra我偶然发现类型不匹配异常,如何正确传输 ArrayList到另一个活动?

 heroesAdapt = HeroesRecyclerAdapter(this, recList){
   testList -> val heroesStatsActivity = Intent(this,HeroesStatsActivity::class.java)
   heroesStatsActivity.putExtra("nicknameHeroes", testList.name)
   heroesStatsActivity.putExtra("data", testList.data.toString())
   startActivity(heroesStatsActivity)
}

我用谷歌搜索了一下,找到了这样一个选项,但它也不起作用,heroesStatsActivity.putExtra("data", testList) 所以我把它传递了。并得到它这样val test = intent.extras?.getSerializable("data") as TestList尽管数据类本身继承自Serializable data class TestList(val name: String, val data: LegendWrapper) : Serializable从列表中选择名称时,这是错误

2021-08-22 17:33:12.426 4950-4950/com.example.studyactivitylifecyl
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.studyactivitylifecyl, PID: 4950
    java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name =
com.example.studyactivitylifecyl.Model.TestList)
        at android.os.Parcel.writeSerializable(Parcel.java:2113)
        at android.os.Parcel.writeValue(Parcel.java:1883)
        at android.os.Parcel.writeArrayMapInternal(Parcel.java:975)
        at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1620)
        at android.os.Bundle.writeToParcel(Bundle.java:1303)
        at android.os.Parcel.writeBundle(Parcel.java:1044)
        at android.content.Intent.writeToParcel(Intent.java:10855)
        at android.app.IActivityTaskManager$Stub$Proxy.startActivity(IActivityTaskManager.java:3668)
        at android.app.Instrumentation.execStartActivity(Instrumentation.java:1723)
        at android.app.Activity.startActivityForResult(Activity.java:5314)
        at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:597)
        at android.app.Activity.startActivityForResult(Activity.java:5272)
        at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:583)
        at android.app.Activity.startActivity(Activity.java:5658)
        at android.app.Activity.startActivity(Activity.java:5611)
        at com.example.studyactivitylifecyl.HeroesActivity$onCreate$1.invoke(HeroesActivity.kt:45)
        at com.example.studyactivitylifecyl.HeroesActivity$onCreate$1.invoke(HeroesActivity.kt:40)
        at com.example.studyactivitylifecyl.Adapters.HeroesRecyclerAdapter$Holder.bindHeroes$lambda-0(HeroesRecyclerAdapter.kt:25)
        at com.example.studyactivitylifecyl.Adapters.HeroesRecyclerAdapter$Holder.lambda$m9Ppe9nWqwgcbjiXqOm_6-7XHbo(Unknown
Source:0)
        at com.example.studyactivitylifecyl.Adapters.-$$Lambda$HeroesRecyclerAdapter$Holder$m9Ppe9nWqwgcbjiXqOm_6-7XHbo.onClick(Unknown
Source:4)
        at android.view.View.performClick(View.java:7448)
        at android.view.View.performClickInternal(View.java:7425)
        at android.view.View.access$3600(View.java:810)
        at android.view.View$PerformClick.run(View.java:28305)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:223)
        at android.app.ActivityThread.main(ActivityThread.java:7656)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
     Caused by: java.io.NotSerializableException: com.example.studyactivitylifecyl.Model.LegendWrapper
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1240)
        at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1604)
        at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1565)
        at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1488)
        at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1234)
        at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:354)
        at android.os.Parcel.writeSerializable(Parcel.java:2108)
        at android.os.Parcel.writeValue(Parcel.java:1883) 
        at android.os.Parcel.writeArrayMapInternal(Parcel.java:975) 
        at android.os.BaseBundle.writeToParcelInner(BaseBundle.java:1620) 
        at android.os.Bundle.writeToParcel(Bundle.java:1303) 
        at android.os.Parcel.writeBundle(Parcel.java:1044) 
        at android.content.Intent.writeToParcel(Intent.java:10855) 
        at android.app.IActivityTaskManager$Stub$Proxy.startActivity(IActivityTaskManager.java:3668) 
        at android.app.Instrumentation.execStartActivity(Instrumentation.java:1723) 
        at android.app.Activity.startActivityForResult(Activity.java:5314) 
        at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:597) 
        at android.app.Activity.startActivityForResult(Activity.java:5272) 
        at androidx.activity.ComponentActivity.startActivityForResult(ComponentActivity.java:583) 
        at android.app.Activity.startActivity(Activity.java:5658) 
        at android.app.Activity.startActivity(Activity.java:5611) 
        at com.example.studyactivitylifecyl.HeroesActivity$onCreate$1.invoke(HeroesActivity.kt:45) 
        at com.example.studyactivitylifecyl.HeroesActivity$onCreate$1.invoke(HeroesActivity.kt:40) 
        at com.example.studyactivitylifecyl.Adapters.HeroesRecyclerAdapter$Holder.bindHeroes$lambda-0(HeroesRecyclerAdapter.kt:25) 
        at com.example.studyactivitylifecyl.Adapters.HeroesRecyclerAdapter$Holder.lambda$m9Ppe9nWqwgcbjiXqOm_6-7XHbo(Unknown
Source:0) 
        at com.example.studyactivitylifecyl.Adapters.-$$Lambda$HeroesRecyclerAdapter$Holder$m9Ppe9nWqwgcbjiXqOm_6-7XHbo.onClick(Unknown
Source:4) 
        at android.view.View.performClick(View.java:7448) 
        at android.view.View.performClickInternal(View.java:7425) 
        at android.view.View.access$3600(View.java:810) 
        at android.view.View$PerformClick.run(View.java:28305) 
        at android.os.Handler.handleCallback(Handler.java:938) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loop(Looper.java:223) 
        at android.app.ActivityThread.main(ActivityThread.java:7656) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

稍微改了一下代码。

@Parcelize
data class LegendWrapper(
    val data: List<PlayerPerformance>? = emptyList()

): Parcelable

@Parcelize
data class PlayerPerformance(val name: String, val value: Int, val key: String): Parcelable

@Parcelize
data class TestList(val name: String, val data: LegendWrapper) : Parcelable

接下来,我尝试发送

heroesStatsActivity.putParcelableArrayListExtra("data", testList)

但我得到一个错误

类型不匹配。必需:ArrayList<out Parcelable!>? 找到:测试列表

如果你只写 putExtra

heroesStatsActivity.putExtra("data", testList)

然后第二个活动出错了

val test = intent?.extras?.getParcelable("data")

没有足够的信息来推断类型变量 T

android
  • 1 个回答
  • 10 Views
Martin Hope
Ethernets
Asked: 2022-08-22 15:39:40 +0000 UTC

Kotlin“类型不匹配”错误[关闭]

  • 1
关闭。这个问题需要澄清或补充细节。目前不接受回复。

你想改进这个问题吗?通过编辑此帖子添加更多详细信息并澄清问题。

1 年前关闭。

改进问题

我不明白如何修复以及为什么会出现以下错误:

类型不匹配。必需:TestList 找到:字符串

一个单独的类包含带有一个字符串数组名称参数的TestList数据类

data class TestList (val names: ArrayList<String>)

接下来在 MainActivity 我从TestList创建一个 recList列表

val recList = ArrayList<TestList>()

接下来,我需要用字符串数据填充这个数组:

for((key) in data.legends.all){
     recList.add(key)
}

好吧,实际上在这个地方我得到了这个错误,为什么会这样?如何解决?

android
  • 1 个回答
  • 10 Views
Martin Hope
Ethernets
Asked: 2022-08-21 20:01:31 +0000 UTC

如何将字符串从活动传递到 GET 请求?

  • 0

有MainActivity,EditText用户在其中写昵称:

<EditText
    android:id="@+id/nicknameEditText"
    android:hint="Введите игровое имя"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

如何将接收到的文本传递给 GET 请求?

interface ApiRequest {
    @GET("bridge?version=5&platform=PC&player=${R.id.nicknameEditText}")
    fun herList() : Call<TestHero>
}

我尝试了上面代码中的手工方式,但出现错误。在搜索中,只有两个或多个活动之间的数据传输。告诉我如何正确实施?

android
  • 1 个回答
  • 10 Views
Martin Hope
Ethernets
Asked: 2022-08-21 16:10:54 +0000 UTC

RecyclerView中无法显示所有数组数据

  • 0

有这样的适配器吗?

class HeroesRecyclerAdapter(val context: Context, val heroes: List<TestHero>): RecyclerView.Adapter<HeroesRecyclerAdapter.Holder>() {

    inner class Holder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        val heroesName = itemView?.findViewById<TextView>(R.id.textHeroView)

        fun bindHeroes (hero: TestHero, context: Context){
           //heroesName?.text = hero.legends.all.keys.first()
            for((key) in hero.legends.all){
                Log.d("HeroesActivity", key)
                //holder.heroesName?.text = key
                heroesName?.text = key

            }

        }

    }

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): Holder {
        val view = LayoutInflater.from(context).inflate(R.layout.list_hero_view, parent, false)
        return  Holder(view)
    }

    override fun onBindViewHolder(holder: Holder, position: Int) {
        holder?.bindHeroes(heroes[position], context)
    }

    override fun getItemCount(): Int {
        return heroes.count()
    }
}

当循环填充TextView时,数据被覆盖,只显示数组的最后一个值,如何正确显示数组中一列中的所有数据,以便进一步从列表中选择一个类别?

data class TestHero (@SerializedName("global") val global: PlayerInf,
                     @SerializedName("legends")val legends: AllLegends)

data class  PlayerInf (val name: String, val uid: Long, val avatar: String, val platform: String,
val  level: Int, val toNextLevelPercent: Int, val internalUpdateCount: Int, val bans: BanInf, val rank: RankInf)

data class BanInf (val isActive: Boolean, val remainingSeconds: Int)

data class RankInf (val rankScore: Int, val rankName: String, val rankDiv: Int, val rankImg: String)


data class AllLegends (@SerializedName("all") val all: Map<String, LegendWrapper> = emptyMap())


data class LegendWrapper(
    val data: List<PlayerPerformance>? = emptyList()

)
data class PlayerPerformance(val name: String, val value: Int, val key: String)

如果在不使用数组的情况下更改代码,那么我将获得 1 个字段中的所有键

class TestRecyclerAdapter(val cont: Context): RecyclerView.Adapter<TestRecyclerAdapter.Holders>() {
    var heroes: List<AllLegends> = emptyList()

    inner class Holders(itemView: View) : RecyclerView.ViewHolder(itemView) {
        val heroesName = itemView?.findViewById<TextView>(R.id.textHeroView)

        fun bindHeroes (hero: AllLegends, context: Context){
            heroesName?.text = hero.all.keys.toString()


        }
}

在此处输入图像描述

android
  • 2 个回答
  • 10 Views
Martin Hope
Ethernets
Asked: 2022-08-06 14:39:52 +0000 UTC

将对象放入改造 2 列表中

  • 3

如何将对象名称添加到列表中,以便通过适配器进一步显示。这是我通过 Retrofit 2 获得的 API 查询列表

接下来,我提出这样的请求:

测试英雄.kt

data class TestHero (@SerializedName("global") val global: PlayerInf,
                     @SerializedName("legends")val legends: AllLegends)

data class  PlayerInf (val name: String, val uid: Long, val avatar: String, val platform: String,
val  level: Int, val toNextLevelPercent: Int, val internalUpdateCount: Int, val bans: BanInf, val rank: RankInf)

data class BanInf (val isActive: Boolean, val remainingSeconds: Int)

data class RankInf (val rankScore: Int, val rankName: String, val rankDiv: Int, val rankImg: String)

data class AllLegends (val all: Revenant)

data class Revenant (val ImgAssets: String)
data class Horizon (val data : ArrayList<Rang>, val ImgAssets: String)

data class Rang (val t0 : String)

也就是说,我需要创建每个对象Revenant, Horizon, Crypto等。但我不明白如何在 textView 的适配器中显示这些名称

HeroesAdapter.kt

class HeroesAdapter(context: Context, heroes: List<TestHero>): BaseAdapter() {
    private val context = context
    private val heroes = heroes

    override fun getCount(): Int {
        return heroes.count()
    }

    override fun getItem(position: Int): Any {
        return heroes[position]
    }

    override fun getItemId(position: Int): Long {
        return 0
    }

    override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {

           // categoryView = LayoutInflater.from(context).inflate(R.layout.activity_heroes, null)
        val listheroView = LayoutInflater.from(context).inflate(R.layout.list_hero_view, parent, false)
           // val categoryImage: ImageView = categoryView.findViewById(R.id.heroesImageView)
            val heroText: TextView = listheroView.findViewById(R.id.textHeroView)
            val category = heroes[position]

            heroText.text = category.legends.all.toString()
            return listheroView

    }
}

在显示中,我得到以下信息: ListView 中的响应

我想得到的一个例子: 列表

在哪里,点击后,我已经从数据中接收数据

JSON-API

"legends": {
        "selected": {
            "LegendName": "Octane",
            "data": [
                {
                    "name": "Special event kills",
                    "value": 815,
                    "key": "specialEvent_kills"
                },
                {
                    "name": "Special event wins",
                    "value": 37,
                    "key": "specialEvent_wins"
                },
                {
                    "name": "Special event damage",
                    "value": 321873,
                    "key": "specialEvent_damage"
                }
            ],
            "gameInfo": {
                "skin": "Arachnoid Rush",
                "skinRarity": "Legendary",
                "frame": "Shark Teeth",
                "frameRarity": "Legendary",
                "pose": "All. Day.",
                "poseRarity": "Rare",
                "intro": "Death catches up to everyone",
                "introRarity": "Rare",
                "badges": [
                    {
                        "name": "Venomous",
                        "value": 0,
                        "category": "Octane"
                    },
                    {
                        "name": "Wild Frontier Level: Season 1",
                        "value": 112,
                        "category": "Account Badges"
                    },
                    {
                        "name": "Fortune's Favor Level: Season 5",
                        "value": 113,
                        "category": "Account Badges"
                    }
                ]
            },
            "ImgAssets": {
                "icon": "https:\/\/api.mozambiquehe.re\/assets\/icons\/octane.png",
                "banner": "https:\/\/api.mozambiquehe.re\/assets\/banners\/octane.jpg"
            }
        },
        "all": {
            "Revenant": {
                "ImgAssets": {
                    "icon": "https:\/\/api.mozambiquehe.re\/assets\/icons\/revenant.png",
                    "banner": "https:\/\/api.mozambiquehe.re\/assets\/banners\/revenant.jpg"
                }
            },
            "Crypto": {
                "ImgAssets": {
                    "icon": "https:\/\/api.mozambiquehe.re\/assets\/icons\/crypto.png",
                    "banner": "https:\/\/api.mozambiquehe.re\/assets\/banners\/crypto.jpg"
                }
            },
            "Horizon": {
                "data": [
                    {
                        "name": "Season 7 wins",
                        "value": 1,
                        "key": "wins_season_7",
                        "rank": {
                            "rankPos": 59006,
                            "topPercent": 69.87
                        },
                        "rankPlatformSpecific": {
                            "rankPos": 53782,
                            "topPercent": 69.14
                        }
                    },
                    {
                        "name": "Special event kills",
                        "value": 101,
                        "key": "specialEvent_kills",
                        "rank": {
                            "rankPos": 77442,
                            "topPercent": 64.21
                        },
                        "rankPlatformSpecific": {
                            "rankPos": 52573,
                            "topPercent": 60.51
                        }
                    },
                    {
                        "name": "Special event damage",
                        "value": 47004,
                        "key": "specialEvent_damage",
                        "rank": {
                            "rankPos": 74182,
                            "topPercent": 57.92
                        },
                        "rankPlatformSpecific": {
                            "rankPos": 51199,
                            "topPercent": 54.54
                        }
                    }
                ],
                "ImgAssets": {
                    "icon": "https:\/\/api.mozambiquehe.re\/assets\/icons\/horizon.png",
                    "banner": "https:\/\/api.mozambiquehe.re\/assets\/banners\/horizon.jpg"
                }
            },
android
  • 1 个回答
  • 10 Views
Martin Hope
Ethernets
Asked: 2022-07-09 16:21:48 +0000 UTC

显示的单元格格式不正确(小时数和分钟数)

  • 1

我需要显示超过 24 小时的时间,我在类型[h]:mm;@字段中以单元格格式写,我得到的答案不是 25 小时,而是 241:00 遇到此问题的人请帮助解决问题。

细胞看起来像这样:

第一个单元格中是格式为(日期)的日期,第二个单元格中是第三个公式中的时间(格式为时间)

=СЦЕПИТЬ(С1; D1) - СЦЕПИТЬ(A1;B1)

最多 24 它应该算,但如果它高于 24,它已经是 241,等等。 在此处输入图像描述

excel
  • 1 个回答
  • 10 Views
Martin Hope
Ethernets
Asked: 2020-08-22 14:19:42 +0000 UTC

使用 EF6 写入 Oracle DB 时没有任何反应

  • 0

我正在 Oracle 11g2 DB 创建类测试上学习 EF6

class Test
{
    public int Id { get; set; }

    public float T1 { get; set; }

    public float T2 { get; set; }

    public float T3 { get; set; }

    public float T4 { get; set; }

    public float T5 { get; set; }

    public float T6 { get; set; }

    public float T7 { get; set; }

    public float T8 { get; set; }

    public float T9 { get; set; }
}

然后上下文:

 internal class TestContext : DbContext
 {

    public virtual DbSet<Test> Test { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
       // modelBuilder.HasDefaultSchema("USER");  
        modelBuilder.Entity<Test>().ToTable("TESTI", "USER");
        Database.SetInitializer<TestContext>(new 
        CreateDatabaseIfNotExists<TestContext>());
        //Database.SetInitializer< TestContext > (null);
    }      
}

接下来,我将入口代码附加到按钮上:

        private void button1_Click(object sender, EventArgs e)
        {
          using (var db = new TestContext())
          {
            var test = new Test {Id = 1, T1 = 12, T2 = 3, T3 = 3, T4 = 3, T5 
                     = 3, T6 = 3, T7 = 3, T8 = 3 };
            db.Test.Add(test);
            db.SaveChanges();
          }
        }

按下按钮时,没有任何反应。然后我走另一条路,在代码中添加了 1 个 T9 字段,它没有注释,当我运行代码时,我收到一个需要迁移的错误,好吧,我继续在包管理器控制台中写几行启用迁移、添加迁移测试、更新数据库。我启动应用程序,按下按钮,数据库中又没有出现任何内容,没有表,没有列。好的,我想我会通过创建一个包含字段的表来手动创建一个表,我启动应用程序,我按下按钮,再次没有,所以问题是,我做错了什么?数据去哪儿了?为什么没有一个错误,没有一个异常?请知道或遇到类似现象的人帮忙。

c#
  • 1 个回答
  • 10 Views
Martin Hope
Ethernets
Asked: 2020-07-08 15:29:29 +0000 UTC

在抓取期间缩进接收到的数据

  • 0

问题是有一个带有文本的块,其中还有另外 1 个带有文本的块,当接收到数据时,文本合并成一个实体。是否可以跳过类名为text_block的嵌套div块的输出?或者是否有可能以某种方式共享数据?

<div class="text_block_in">
 <div class="text_block">Тут какой либо текст</div>Прочитать текст.</div>

像这样刮:

  request("https://site.ru/news/", (err, res, html) => {
        const htmlAll = cheerio.load(html);
        htmlAll('.info_block_line').each((i, el) => {
            const output = htmlAll(el)
                .find('.text_block_in')
                .text()
                .replace(/\s\s+/g,'');
            console.log(output);    
        }); 
    });

在输出中,我得到以下文本:

这是一些文本阅读文本。

javascript
  • 1 个回答
  • 10 Views
Martin Hope
Ethernets
Asked: 2020-05-06 16:12:47 +0000 UTC

如何在 Python 中正确过滤数据?

  • 1

解析数据时,在一种情况下,有数据变量,但在另一种情况下没有。例如:

    UserUrlApex = "https://public-api.tracker.gg/apex/v1/standard/profile/5/{}".format(outputApex)
    header = {"TRN-Api-Key": apiApex}
    reqUserApex = requests.get(UserUrlApex, headers=header)
    responApex = reqUserApex.json()
    test = responApex['data']
    apexLevel = responApex['data']['stats'][0]['value']
    apexRank = responApex['data']['stats'][0]['displayRank']
    apexKills = responApex['data']['stats'][1]['displayValue']
    apexDamage =  responApex['data']['stats'][2]['displayValue']

如果它们不存在,则只需 display apexLevel,否则会出现 404 错误......而且displayValue可能displayRank根本没有变量。

如何正确检查这些变量的存在?

python
  • 2 个回答
  • 10 Views
Martin Hope
Ethernets
Asked: 2020-02-18 13:21:10 +0000 UTC

Oracle DB 占用 RAM

  • 2

当您重新启动或打开服务器时,一切正常,内存正常,会话数也正常。但是连续工作2-3天后,消耗的内存明显增加,会话数增加到450+。据我所知,数据库会话应该自己抛出,这应该没有问题。

但是记忆会发生什么?目前是5.4GB,3天过去了。明天还会有更多。最后,它将依赖于数据库将停止接受新连接这一事实,即使所有内容都已卸载。只有重新启动有帮助。

帮助我理解。

在此处输入图像描述


添加

如果我们在 PGA\SGA 内存分配不正确上犯了罪,让我们看看实际上什么是管理不强:

SELECT name, sum(value/1024) "Value - KB"
   FROM v$statname n,
        v$session s,
        v$sesstat t
  WHERE s.sid=t.sid
    AND n.statistic# = t.statistic#
    AND s.type = 'USER'
    AND s.username is not NULL
    AND n.name in ('session pga memory', 'session pga memory max', 
        'session uga memory', 'session uga memory max')
  GROUP BY name

在输出中我们得到:

会话 uga 内存 24672.609375

会话 uga 内存最大 66495.8515625

会话 pga 内存 46984

会话 pga 内存最大 237577.875

让我们看看SGA:

SELECT (
   (SELECT SUM(value) FROM V$SGA) -
   (SELECT CURRENT_SIZE FROM V$SGA_DYNAMIC_FREE_MEMORY)
   ) "SGA_TARGET"
FROM DUAL;

结论:

SGA_TARGET:5465165824


PS OS Windows Server,2012 DB Oracle 11g-r2

oracle
  • 2 个回答
  • 10 Views
Martin Hope
Ethernets
Asked: 2020-02-11 20:56:31 +0000 UTC

按时间关闭/打开 Oracle 数据库

  • 1

如何在 Windows Server 2012 中的给定时间停止和启动数据库实例?

oracle
  • 1 个回答
  • 10 Views
Martin Hope
Ethernets
Asked: 2020-11-22 13:48:14 +0000 UTC

解析 Node.js 时提取数据

  • 0

解析时,我得到这样的响应:

{
    data: {
        type: 'match',
        id: 'ae825686-8a74-4363-a1d1-402d5a4207d5',
        attributes: {
            createdAt: '2018-11-20T17:06:52Z',
            titleId: 'bluehole-pubg',
            shardId: 'pc-ru',
            tags: null,
            seasonState: 'progress',
            duration: 1823,
            stats: null,
            gameMode: 'squad-fpp'
        },
    }
    included:
    [{
            type: 'participant',
            id: '0b1b8f78-bb3e-4c0a-9955-9fdf8e33e5b4',
            attributes: [Object]
        }, {
            type: 'participant',
            id: '85e74b88-125b-4529-8c3f-fd76bd43b9aa',
            attributes: [Object]
        }, {
            type: 'roster',
            id: '6db70dce-b056-4bed-8cc4-6521b83bea50',
            attributes: [Object],
            relationships: [Object]
        }, {
            type: 'roster',
            id: 'a35db9ae-e559-4474-b922-784e3221f484',
            attributes: [Object],
            relationships: [Object]
        }
    ]
}

我需要从中获取数据inculded type:'roster'和内容attributes, relationships。我该怎么做?
我试图提取为数据数组console.log(included[0]);,我从中获取数据type: 'participant'。
然后我尝试了这个console.log(included[{type: 'roster', relationships}]);。作为回应,我收到一条消息undefined
。请告诉我如何获取必要的数据,第三天我绞尽脑汁。谢谢你。

javascript
  • 1 个回答
  • 10 Views
Martin Hope
Ethernets
Asked: 2020-09-19 15:17:46 +0000 UTC

如何解析带有俄语文本的 URL

  • 0

问题是,如果有一个包含俄语文本的 URL 链接,它会失败并显示SyntaxError: Unexpected end of JSON input。如果您在链接中使用英文单词,那么一切正常,如何处理,请帮助。

let urlwow = `https://eu.api.battle.net/wow/character/Сервер/Петя?fields=items&locale=ru_RU&apikey=${apikey}`;
request(urlwow, (error, response, bodywow) => 
{      
  let datawow = JSON.parse(bodywow);  
  console.log(datawow);      
});
node.js
  • 1 个回答
  • 10 Views
Martin Hope
Ethernets
Asked: 2020-04-25 15:37:30 +0000 UTC

如何使用 Discord.js 向用户发送私人消息

  • 0

我正在编写一个机器人,但在用户连接到服务器后,我不知道如何使用它向用户发送私人消息。

据我了解,与服务器本身的连接可以这样捕获:

const robot = new Discord.Client();
robot.on("guildMemberAdd", (gMembAdd) =>
{
    gMembAdd.guild.channels.find("name", "test").sendMessage(gMembAdd.toString() + "hello people");
});

收到名为“测试”的公共聊天频道中的消息,但我无法通过私人频道向个人用户发送消息。像这样尝试:

 robot.on("guildMemberAdd", (gMembAdd) =>
    {
        gMembAdd.mentions.users.first().sendMessage(message.content.slice(4)); 
        gMembAdd.guild.channels.find("name", "test").sendMessage(gMembAdd.toString() + "hello people");
    });

但是代码会引发错误。

像这样尝试过:

robot.on("guildMemberAdd", (gMembAdd) =>
    {
        let ment = new Discord.Message();
        ment.mentions.users.first().sendMessage(message.content.slice(4)); 
        gMembAdd.guild.channels.find("name", "test").sendMessage(gMembAdd.toString() + "hello people");
    });

我也试过这样:

robot.mentions.users.first().sendMessage(message.content.slice(4));

我究竟做错了什么?

javascript
  • 1 个回答
  • 10 Views
Martin Hope
Ethernets
Asked: 2020-12-07 14:24:40 +0000 UTC

在备用 Oracle 服务器上部署备份

  • 4

如何在备用服务器上部署使用 RMAN 制作的备份?
还对系统的哪个操作系统的传输是否重要感兴趣?在正在运行的数据库服务器上,启动了 Rman 并执行了以下命令:

connect target;
shutdown immediate;
startup mount;
backup database;
alter database open;

然后将备份文件复制到计划将备份数据库路径部署到 E:\backup 文件夹的 PC 上。Rman 使用以下命令在备份 PC 上运行:

connect target;
shutdown immediate;
startup mount;
catalog start with 'E:\backup\';

然后我同意通过写“是”来添加备份数据。然后我得到一个错误

文件名:路径和文件名

RMAN-07518:Reson:外国

数据库文件DBID:4099333308

数据库名称:ORCL

然后我在某个地方读到了你可以写set DBID 4099333308和重复的地方,但没有任何结果。DB 甚至都没有出现,说明 DBID 错误。因此,我返回了 DBID。如何解决问题?

oracle
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5