Как получить текст из выбранного элемента в списке и установить этот текст в TextView? - PullRequest
0 голосов
/ 06 февраля 2012

Я создал список.И мне нужно получить текст в элементе списка, когда он щелкает.Затем этот текст должен быть установлен в TextView.Ниже приведен мой код, и я получаю принудительную остановку при запуске.Пожалуйста, дайте несколько идей.

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    txtTask = (EditText)findViewById(R.id.txtTask);
    btnAdd = (Button)findViewById(R.id.btnAddTask);
    selectedTask = (TextView)findViewById(R.id.textViewTask);

    list = getListView();
    list.setTextFilterEnabled(true);

    btnAdd.setOnClickListener(this);
    list.setOnKeyListener(this);


    toDoItems = new ArrayList<String>();
    oo = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,   toDoItems);
    list.setAdapter(oo);
    list.setOnItemClickListener(new OnItemClickListener(){
        @Override
    public void onItemClick(AdapterView<?> parent, View view, int position,
                long id3) {     
        int tmp = list.getSelectedItemPosition();
        String v= toDoItems.get(tmp).toString();
        selectedTask.setTag(v);
        flippy.showNext();
        }

        });

    }

Ответы [ 2 ]

2 голосов
/ 06 февраля 2012

Замените ниже 3 строки вашего кода в методе onItemClick на мой предложенный код.

int tmp = list.getSelectedItemPosition();
String v= toDoItems.get(tmp).toString();
selectedTask.setTag(v);

Рекомендуемый код

String v= toDoItems[position]; // or
String v = list.getItemAtPosition(position).toString();
selectedTask.setText(v);
0 голосов
/ 06 февраля 2012

После того, как вы получили строку v, вам нужно поставить следующую строку:

selectedTask.setText(v);

Также нет необходимости ставить list.setOnKeyListener(this);, так как вам нужно прослушивать нажатие элемента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...