小编Fer*_*rCa的帖子

如何创建整数和字符串对的排序列表?

如何创建整数和字符串对的列表(或其他类型的容器),允许两个对中的重复项并且可以按整数值排序?

我需要用名称(字符串)和评分(整数)对填充容器,容器必须允许名称和评分中的重复值,我需要按评分值对此列表进行排序.

我尝试使用SortedMap但不允许重复值:

SortedMap<Integer,String> sm=new TreeMap<Integer, String>();

sm.put(23, "Peter");  
sm.put(11, "Tony");  
sm.put(110, "Claire");  
sm.put(13, "ferca");  
sm.put(55, "Julian");  
sm.put(13, "Pedro");  
Run Code Online (Sandbox Code Playgroud)

在这个例子中,ferca和Pedro具有相同的得分值,这是我需要允许的,但是SortedMap用"Pedro"覆盖"ferca".

这样做的最佳容器类型是什么?

java

12
推荐指数
2
解决办法
3万
查看次数

如何扩展微调器以实现新功能?

我正在尝试Spinner在我的代码中扩展Android类来实现一个新函数,但由于某种原因,这不起作用.

这是扩展类:

import android.content.Context;
import android.widget.AdapterView;
import android.widget.Spinner;

public class CustomSpinner extends Spinner {

    public CustomSpinner(Context context) {
        super(context);
    }

    public void setSelectionByItemId(AdapterView<?> parent, long id){
        for (int i = 0; i < parent.getCount(); i++) {              
            long itemIdAtPosition = parent.getItemIdAtPosition(i);
            if (itemIdAtPosition == id) {
                parent.setSelection(i);
                break;
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这就是我实例化这个类的方式:

CustomSpinner spinner = (CustomSpinner) findViewById(R.id.sphofentries);
Run Code Online (Sandbox Code Playgroud)

这在运行时给我一个错误.

所有这些都是R.id.sphofentries在我的布局中声明为微调器.

但是现在,如果我声明sphofentries为一个CustomSpinner运行时错误,就在我将布局设置为活动时:

setContentView(R.layout.settings);
Run Code Online (Sandbox Code Playgroud)

另外我很确定问题是我需要声明sphofentriesCustomSpinner因为如果我这样做:

CustomSpinner spinner = new CustomSpinner(this);
spinner …
Run Code Online (Sandbox Code Playgroud)

android android-spinner

10
推荐指数
2
解决办法
6238
查看次数

如何动态更改按下的按钮背景颜色?

我正在开发一个问题游戏,如果答案是正确的话我想将答案按钮按下背景颜色变为绿色,或者如果在用户按下按钮时答案错误则将红色变为红色.

实际上我有一个custom_button.xml,我分配给布局中的按钮:

        <Button 
        android:id="@+id/la"
        android:width="63dp"
        android:height="65dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/la"
        android:tag="@string/la"
        android:layout_toRightOf="@+id/fa"
        **android:background="@drawable/custom_button"**
        android:layout_margin="3dp"
    />  
Run Code Online (Sandbox Code Playgroud)

有没有办法在用户按下按钮时更改按钮的按下背景?

我尝试在按钮OnClickListener中使用setBackgroundDrawable(),但这会更改用户下次单击按钮时的按钮行为,而不是实际的按钮行为.

bt.setBackgroundDrawable(getResources().getDrawable(R.drawable.custom_button_fail));
Run Code Online (Sandbox Code Playgroud)

提前致谢!

android

2
推荐指数
1
解决办法
9801
查看次数

标签 统计

android ×2

android-spinner ×1

java ×1