aboutsummaryrefslogtreecommitdiff
path: root/v1/src/main/java/com/xtremelabs/robolectric/shadows/ShadowAutoCompleteTextView.java
blob: 3c0362b21e0bbb6fc083174ba361225daecc4487 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package com.xtremelabs.robolectric.shadows;

import com.xtremelabs.robolectric.internal.Implementation;
import com.xtremelabs.robolectric.internal.Implements;

import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AutoCompleteTextView;
import android.widget.Filterable;
import android.widget.ListAdapter;

/**
 * A shadow for AutoCompleteTextView
 */
@Implements(AutoCompleteTextView.class)
public class ShadowAutoCompleteTextView extends ShadowEditText {

    private ListAdapter adapter;
    private int threshold = 2;
    private OnItemClickListener onItemClickListener;

    @Implementation
    public ListAdapter getAdapter() {
        return adapter;
    }

    @Implementation
    public <T extends ListAdapter & Filterable> void setAdapter(T adapter) {
        this.adapter = adapter;
    }

    @Implementation
    public int getThreshold() {
        return threshold;
    }

    @Implementation
    public void setThreshold(int threshold) {
        if (threshold <= 0) {
            threshold = 1;
        }
        this.threshold = threshold;
    }

    @Implementation
    public AdapterView.OnItemClickListener getOnItemClickListener() {
        return onItemClickListener;
    }

    @Implementation
    public void setOnItemClickListener(AdapterView.OnItemClickListener onItemClickListener) {
        this.onItemClickListener = onItemClickListener;
    }

    @Implementation
    public void replaceText(CharSequence text) {
        setText(text);
        setSelection(getText().length());
    }
}