我的Android项目构建目标是5.1.1 API 22

这个应用程式似乎适用于Lollipop以外的所有作业系统版本。棒棒糖调整了某些 Activity 的高度(否定了可滚动的布局),并破坏了微调器。

单击微调器上的特定位置将在应用程序中输入其他位置。我不确定为什么,而且我不知道该如何解决。在某些情况下,即使单击微调器上的按钮,它也会在微调器上注册最底部的可见按钮。对于某些微调器,它根本不允许用户滚动。

我出现故障的微调器代码之一是这样的:

ArrayAdapter<String>adapterl4 = new ArrayAdapter<String>(this,
        android.R.layout.simple_spinner_item,hbmlevel){
            public boolean isEnabled(int position){
                displayData(position);
                return true;
            }
        };
selecthbm = (Spinner)findViewById(R.id.selecthbmlvl);
adapterl4.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
selecthbm.setAdapter(adapterl4);
selecthbm.setOnItemSelectedListener(this);

我也尝试过为函数displayData使用全局变量,但仍然得到相同的结果。

该应用程序是一个非常基本的应用程序,您可以下载here并在Java Compiler Compliance级别1.7上运行

我的xml的开头看起来像这样:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:fillViewport="true"
    android:background="#C2DFFF">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

displayData:
public void displayData(int pos){

    herolvlTV.setText(hbmherolvl[pos]);
    hbmshardTV.setText(getResources().getString(R.string.shards)+" " +String.valueOf(hbmshards[pos]));
    hbmexpTV.setText(getResources().getString(R.string.maxexp)+" " +String.valueOf(hbmmaxexp[pos]));
}

最佳答案

这是问题:

ArrayAdapter<String>adapterl4 = new ArrayAdapter<String>(this,
        android.R.layout.simple_spinner_item,hbmlevel){
            public boolean isEnabled(int position){
                displayData(position);
                return true;
            }
        };
isEnabled函数根本无法在棒棒糖上使用。解决方案是将selecthbm.setOnItemSelectedListener(this);更改为selecthbm.setOnItemSelectedListener(new OnItemSelectedListener(){...});并完全删除isEnabled函数。

我不知道为什么isEnabled函数不起作用。如果有人想提供解释,我可以颁发赏金。

10-08 02:59