Нужно просто использовать метод GridView.getChildAt() в цикле :
public void MyButtonClick(View view) {
int count = gridView.getChildCount();
for (int i = 0; i < count; i++) {
View cell = gridView.getChildAt(i);
TextView cellText = (TextView) cell.findViewById(R.id.textpart);
cellText.setTextColor(Color.parseColor("#FF0033"));
}
}
Небольшое замечание: у вас немного криво сделан Adapter, поэтому менять цвет текста будут не все ячейки.Попробуйте исправить код populating адаптера с массивом.
Полный код Activity после небольшого причёсывания:
public class MainActivity extends Activity {
private GridView gridView;
private ImageTextAdapter adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
adapter = new ImageTextAdapter(this);
gridView = (GridView) findViewById(R.id.gridview);
gridView.setAdapter(adapter);
gridView.setOnItemClickListener(gridViewOnItemClickListener);
}
private GridView.OnItemClickListener gridViewOnItemClickListener = new GridView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id) { // пожалуйста, не комментируйте код так:
// Sending image id to FullScreenActivity
//Intent i = new Intent(getApplicationContext(),
// FullImageActivity.class);
// passing array index
//i.putExtra("id", position);
//startActivity(i);
}
};
public void MyButtonClick(View view) { // нарушение Code Convention в имени метода
int count = gridView.getChildCount();
for (int i = 0; i < count; i++) {
View cell = gridView.getChildAt(i);
TextView cellText = (TextView) cell.findViewById(R.id.textpart);
cellText.setTextColor(Color.parseColor("#FF0033"));
}
}
}
Согласитесь, что выглядит лучше , чем :
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageTextAdapter(this));
gridview.setOnItemClickListener(gridviewOnItemClickListener);
}
private GridView.OnItemClickListener gridviewOnItemClickListener = new GridView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v, int position,
long id) {
// TODO Auto-generated method stub
// Sending image id to FullScreenActivity
//Intent i = new Intent(getApplicationContext(),
// FullImageActivity.class);
// passing array index
//i.putExtra("id", position);
//startActivity(i);
}
};
public void MyButtonClick(View view)
{
View cell = findViewById(R.layout.cellgrid);
TextView cellText = cell.findViewById(R.id.textpart);
cellText.setTextColor(Color.parseColor("#000000"));
}
}