0

私は提案をうまく使用して取得しています。私ができる位置1で現在 AutoCompleteTextViewを無効にしたいです。TextView

TextView主な問題は、現在の位置 1の色を黒に設定したいということです。
色を設定しましたが、提案リストをスクロールすると、TextView のすべての色が黒に変わります。

以下は、位置1にあるテキストビューを無効にしたコードです。

@Override
    public boolean isEnabled(int position) {
        // TODO Auto-generated method stub
        if(getItem(position).contains("Or, did you mean"))
            return false;
        else
        return super.isEnabled(position);
    } 

@Override
    public View getView(int position, View v, ViewGroup parent)
    {
        View mView = v ;
        if(mView == null){
            LayoutInflater vi = (LayoutInflater)appContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            mView = vi.inflate(id, null);
        }

        TextView text = (TextView) mView.findViewById(R.id.textview);


        if(getItem(position) != null )
        {
            text.setTypeface(faceBold);
            if(getItem(position).equals("Or, did you mean..."))
            {
                text.setTextColor(R.color.black);
                text.setText("Or, did you mean");

            }
            else
            {
                text.setText(getItem(position));
            }                
        }

        return mView;
    }
4

2 に答える 2

0

ListView に問題がありましたが、これはあなたのものと似ていると思います。

私の問題は、ListView の一番下に到達すると、(getView 内の)「位置」の値がゼロに戻り続けることでした。そのため、ListView を上にスクロールしたときに、一番下のゼロから始めていました。

あなたの場合はmViewで、「ビュー」を強制的にnullにすることで問題を回避しました。

public View getView(int position, View convertView, ViewGroup parent) {

        mView = null;   

        if (convertView == null) {
            LayoutInflater vi = (LayoutInflater)appContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            mView = vi.inflate(id, null);
        }
        return mView;
    }

または、最初の TextView の値がわかっている場合は、次のようにすることができます。

    final String viewTitleText = ((TextView)mView.findViewById(R.id.textview)).getText().toString();

    if(viewTitleText=="owen") {
       mView.setBackgroundColor(Color.BLACK);
    } else {
       mView.setBackgroundColor(Color.GREEN);
    }
于 2013-10-03T14:17:40.470 に答える
0

ここで私の答えを見てください

ここで私は私の答えを繰り返しています。

次のコードを使用して、ドロップダウンの背景色を次のように変更します

 autocomplete.setDropDownBackgroundResource(R.color.autocompletet_background_color);  

string.xml でこのような値を設定できます

 <color name="autocompletet_background_color">#EFEFEF</color>    

ドロップダウン項目のテキストの色を変更したい場合は、次のようにします。

アダプタークラスで。

 @Override
 public View getView(int position, View v, ViewGroup parent)
{
View mView = v ;
if(mView == null){
    LayoutInflater vi = (LayoutInflater)appContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    mView = vi.inflate(id, null);
}
TextView text = (TextView) mView.findViewById(R.id.textview);        
if(getItem(position) != null )
{
    text.setTypeface(faceBold);
    if(getItem(position).equals("check some condition if you want. "))
    {
        text.setTextColor(Color.parseColor("#999999"));
        text.setText("set some text");               
    }           
    else
    {
        text.setTextColor(Color.parseColor("#cc3333"));
            text.setText(getItem(position));
    }           
}
return mView;

ご不明
な点がございましたら、お知らせください。:-)

于 2013-12-26T14:14:26.050 に答える