自定义TokenAutoComplete

时间:2014-07-28 21:28:53

标签: android autocomplete

我的应用中需要收件人EditText,所以,我使用这个TokenAutoComplete库来做同样的事情。但是,我遇到了一些问题。

  1. 当我输入名称时,会出现一个下拉列表。我想为此下拉列表提供自定义布局。我该怎么做?目前我在这里使用toString方法显示文本。
  2. 以下是代码。

    @Override
    public String toString() { return mContactFirstName }
    

    我想在这里一起显示名字和照片。我该怎么办?

    1. 更改所选令牌的布局。未选择令牌/默认时,令牌的背景为白色,文本颜色为黑色。另一方面,如果选择了令牌,则令牌的背景应为黑色,其文本颜色应为白色。我使用选择器xml来更改令牌的背景,但是,我不知道如何更改文本的颜色。
    2. 当选择和取消选择令牌时,选择器xml工作正常并且背景正在改变,但是,文本的颜色保持不变。

      我使用下面的setSelected()方法来更改文本的颜色。但它不起作用。

          @Override
      public void setSelected(boolean selected) {
          super.setSelected(selected);
          TextView tv = (TextView) findViewById(R.id.token_name);
          if(selected) {
              tv.setTextColor(Color.WHITE);
          } else {
              tv.setTextColor(Color.BLACK);
          }
      }
      

      请帮帮我。

1 个答案:

答案 0 :(得分:1)

在TokenAutoComplete库提供的示例中,您可以看到ContactsCompletionView提供了setAdapter方法。您可以在那里设置自定义适配器,任何扩展BaseAdapter的适配器都可以。

所以你这样做:

myAdapter = new MyCustomAdapter(); // extending BaseAdapter
completionView.setAdapter(myAdapter);

如果是自定义适配器,Web上有大量资源,但基本上在getView方法中,您可以通过从xml中对其进行inflatind来创建自定义视图。在xml中,您可以定义所需的布局(图像,文本,等等......)。

有关详细信息,请参阅此问题:Custom Adapter for List View