Идея состоит в том, что с целью grindview, первые буквы алфавита должны были бы остаться
A B C
D E F
G H I
Но это помещает все в один столбец. Я оставляю код
public class MainActivity extends AppCompatActivity {
private GridView gridView;
private TextView tv1;
static final String[] letras = new String[] { "A", "B", "C", "D", "E", "F",
"G", "H", "I", "J", "K", "L", "M", "N", "Ñ", "O", "P", "Q", "R",
"S","T", "U", "V", "W", "X", "Y", "Z" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridView = findViewById(R.id.gw1);
tv1 = findViewById(R.id.tv1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, letras);
gridView.setAdapter(adapter);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
String resultado = (String) ((TextView) v).getText();
tv1.setText(resultado);
}
});
}
}
В графической части есть только вид сетки и вид текста
В действительности это не ошибка, определяет в твой GridView число колонн посредством свойства android:numColumns
:
ты можешь реализовывать это прямо в layout:
<GridView
...
...
android:numColumns="3"/>
или programaticamente посредством mГ©todo
setNumColumns (int numColumns)
из этой формы:
gridView.setNumColumns(3);