上午在做一個應用程序在這裏顯示A到Z值在gridview中使用textview,之後,當我點擊字母表去了一些其他activity..up到我做了,我的問題是如果我點擊「A」字母表,然後我必須去Activity2然後我回到以前的活動(GridViewAcvtivity)意味着現在我需要只顯示紅色的「A」字母文本,保持默認顏色的所有字母,然後再次我點擊「B」字母表,然後我會去其他一些Activity2然後我回到GridviewActivity意味着時間只有「A和B」字母應該在「紅色」字母仍然是所有默認顏色..我嘗試使用下面的代碼,一旦我點擊一個字母表,他們要去Activity2,然後回到GridviewActivity那個時候所有的字母都是紅色的,但我只想顯示紅色的字母,任何一個給我一些想法。如何更改gridview中的項目顏色在android
public class GridViewActivity extends Activity {
GridView gridView;
static final String[] MOBILE_OS = 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
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
gridView = (GridView) findViewById(R.id.gridView1);
gridView.setAdapter(new ImageAdapter(this, MOBILE_OS));
gridView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
Toast.makeText(
getApplicationContext(),""+position, Toast.LENGTH_SHORT).show();
GlobalClass.value1=1;
Intent i=new Intent(GridViewActivity.this,Activity2.class);
i.putExtra("k1", "position");
startActivity(i);
}
});
}
public class ImageAdapter extends BaseAdapter {
private Context context;
private final String[] mobileValues;
public ImageAdapter(Context context, String[] mobileValues) {
this.context = context;
this.mobileValues = mobileValues;
}
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View gridView;
if (convertView == null) {
gridView = new View(context);
// get layout from mobile.xml
gridView = inflater.inflate(R.layout.mobile, null);
// set value into textview
TextView textView = (TextView) gridView
.findViewById(R.id.grid_item_label);
textView.setText(mobileValues[position]);
if(GlobalClass.value1==1)
{
textView.setTextColor(Color.RED);
}
} else {
gridView = (View) convertView;
}
return gridView;
}
@Override
public int getCount() {
return mobileValues.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
}
String mLabelsIds[]={"RED","YELLOW","black"};
}
你必須製作一個你點擊了字母表的數組列表。然後在設置gridView的時候你可以選擇arrayList中的文本的顏色。 – rahultheOne
thnkyou..in onitemclick我增加現在的位置到一個陣列list..then getview方法我給像下面,螺母沒有use..if(quesid.equals(位置)) \t \t \t \t { \t \t \t \t \t的TextView .setTextColor(Color.RED); \t \t \t \t} \t \t \t \t別的 \t \t \t \t { \t \t \t \t \t textView.setTextColor(Color.YELLOW); \t \t \t \t} – user2401554
你必須使用這樣的..如果(arryList.contains(位置)){textView.setTextColor(Color.RED)}其他{textView.setTextColor(Color.YELLOW)} – rahultheOne