Q:

Como preencher setText do TextView a partir de um ArrayList?

Eu recebo um array com itens de interesses e devo setá-los no setText de um determinado TextView.
Quero que apareçam todos os itens deste array, na tela, na horizontal. Em meu xml de layout, somente coloquei 1 textView para receber todos os itens que vierem neste array. 
Minha dúvida, tenho que montar um ListView, na horizontal, para receber este array e apresentá-lo na tela? Ou, posso simplesmente pegar os itens e colocá-los na propriedade setText deste TextView? 
Segue o código:
@BindView(R.id.txtInterests)
TextView txt_interests;

CommunityPresenter presenter;
UserCommunity selectedUser;
List<String> interest = new ArrayList<String>();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        getWindow().setEnterTransition(new Fade());
    }
    setContentView(R.layout.activity_ride_request);

    ButterKnife.bind(this);
    presenter = new CommunityPresenter(this);

    first.setText(presenter.getDay(0));
    second.setText(presenter.getDay(1));
    third.setText(presenter.getDay(2));

    user = new SessionManager();

    selectedUser = CommunityService.i(getContext()).selectedUser;
    reloadView();

    send_offer_request.setOnClickListener(presenter.sendRequestOnClickListener(0));
    send_ask_request.setOnClickListener(presenter.sendRequestOnClickListener(1));

    populateInterests();

}

private void populateInterests() {
    RequestManager.UsersInterests(selectedUser.id, new FutureCallback<String>() {
        @Override
        public void onCompleted(Exception e, String result) {

            //array com os interesses
            interest = new Gson().fromJson(new JsonParser().parse(result).getAsJsonObject().get("data").toString(), new TypeToken<ArrayList<String>>() {
            }.getType());

            txt_interests.setText(); //preencher o TextView com os interesses

        }
    });
}

A:

De acordo com seu questionamento, vou tentar responder de forma simples baseando nos dados e código que você disponibilizou.
Pelo que percebemos, você declarou uma variável do tipo List<String> cujo nome é interest, que ocasionalmente seriam os interesses que você quer atribuir ao seu TextView.
Para que você capture cada item, é necessário você percorrer toda sua lista. Existem diversas maneiras de você percorrer e capturar elementos de uma lista e uma delas é usar um foreach. Abaixo segue um exemplo bem básico:
String interests = "";
for(String str: interest){
    interests+="\n"+str;
}
txt_interests.setText(interests);

Como de preferência sua, querendo que apareça os itens na horizontal, eu inserir um \n para fazer uma quebra de linha no qual o próximo "interesse" aparecerá uma abaixo do outro.
Atualização
Como nosso amigo ressaltou nos comentário, existe uma discussão antiga que frequentemente aparece no Java que é o uso errado da concatenação de Strings, que pode acarretar numa perda de performance e trashing de memória.
O uso do operador + parece inocente, mas o código gerado produz algumas surpresas. Usando um StringBuilder para concatenação pode na verdade produzir um código que é significativamente mais rápido do que usando um String. Segue abaixo:
StringBuilder interests = new StringBuilder();
for(String str: interest){
    interests.append("\n").append(str);
}
txt_interests.setText(interests); 

Para saber mais detalhes, você pode ler este artigo que fala sobre as diferenças entre String, StringBuilder e StringBuffer em Java.

