Доступ к содержимому в TableLayout - PullRequest
1 голос
/ 25 апреля 2011

Я заполняю TableLayout (т. Е. Строки и столбцы) данными (строками).

Когда я нажимаю на ячейку, я хотел бы, чтобы данные, хранящиеся в этой ячейке, отображались в моей консоли.

Как я могу это сделать?Есть ли другой способ, кроме как перейти по идентификаторам?

Ответы [ 2 ]

2 голосов
/ 25 апреля 2011

Как указано в http://developer.android.com/resources/tutorials/views/hello-tablelayout.html, в Android нет ни столбца, ни TD (табличных данных), ни эквивалента в ячейке. Каждый элемент рассматривается как отдельная ячейка, если не указано иное.

Имея это в моем, и учитывая тот факт, что вы не указываете, какой тип View вы используете в своих строках, могу ли я догадаться, что это кнопка, которую вы, конечно, можете щелкнуть примерно так:

Button b = (Button)findViewById(R.id.oneOfMyButtons); // You could create this "on the go"
b.setOnClickListener(new View.OnClickListener{
    public void onClick(View v){
        System.out.println(v.getText());
    }
}

Надеюсь, это поможет.

1 голос
/ 25 апреля 2011

TableLayout extends LinearLayout, для которых нет метода OnItemClickListener.Вместо этого вам нужно будет внедрить OnClickListener в дочерних View s.

Вместо этого вы можете использовать GridView, который реализует AdapterView, и, таким образом, вы можете использовать OnItemClickListener

http://developer.android.com/resources/tutorials/views/hello-gridview.html

http://developer.android.com/reference/android/widget/AdapterView.html#setOnItemClickListener%28android.widget.AdapterView.OnItemClickListener%29

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

Метод обратного вызова, вызываемый при нажатии элемента в этом AdapterView.

...