Change text of a listview, that is filled by an ArrayAdapter

android, android-arrayadapter, listview, onitemclicklistener, text

Solution

You can achieve what you want like this:

public void onItemClick(AdapterView<?> parent, View view, int position,
          long id) {

      TextView tv = (TextView)view.findViewById(android.R.id.text1);

      switch (position) {
      //untrained
      case 0: 
       //here the text in the listview should change from "Hello" to "BYE"
          tv.setText("BYE");
          break;

      case 1:
      //here the text in the listview should change from "Hello 2" to "BYE 2" 
          tv.setText("BYE 2");
          break;
      }
  }

What is android.R.id.text1

- `ArrayAdapter`s constructor uses `android.R.layout.simple_list_item_1` xml layout as its second parameter and this layout has one child - `TextView` with ID `android.R.id.text1`.

Problem

Is there any way to change the text in a listview, which is filled by an ArrayAdapter? My array: ``` public String[] trainingstage = {"Hello", "Hello 2"}; ``` The ArrayAdapter ``` ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, trainingstage); setListAdapter(adapter); ListView listView = getListView(); listView.setOnItemClickListener(this); ``` OnItem: ``` public void onItemClick(AdapterView<?> parent, View view, int position, long id) { switch (position) { //untrained case 0: //here the text in the listview should change from "Hello" to "BYE" case 1: //here the text in the listview should change from "Hello 2" to "BYE 2" } ``` Thanks for help!

Original source