Я пытаюсь плавно обновить цвет фона gridview, но он не работает ровно.
когда я проверяю gridview в то время, это меняется; Пожалуйста, подскажите мне, как это сделать, ниже приведен мой код, спасибо.
TableGridViewAdapter gridadapter;
GridView gridview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
textViewUname = (TextView) this.findViewById(R.id.userName);
textViewUname.setText("Welcome , " + HomeActivity.name);
gridview = (GridView) findViewById(R.id.gridview);
gridadapter=new TableGridViewAdapter(this);
gridview.setAdapter(gridadapter);
//adapter.notifyDataSetChanged();
UpdateGridview updateGridview=new UpdateGridview();
updateGridview.execute(TableActivity.this);
// code for onClick gridview items , It take to that Activity
gridview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
ConText.currentPos = position;
Intent i = new Intent(TableActivity.this,
OrderListActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();
}
});
}
}
}
здесь я пытался обновить вид каждые 20 секунд
private class UpdateGridview extends AsyncTask<Context, Integer, String>
{
@Override
protected String doInBackground( Context... params )
{
int i = 0;
while( i <10)
{
try{
gridadapter.notifyDataSetChanged();
// gridadapter.refreshItems(gridadapter);
gridview.invalidate();
//TableGridViewAdapter.refreshItems(gridadapter);
Thread.sleep( 20000 );
System.out.println("i called notifyDataSetChanged()=======================");
i++;
} catch( Exception e ){
Log.i("makemachine", e.getMessage() );
}
}
return "COMPLETE!";
}
// -- gets called just before thread begins
@Override
protected void onPreExecute()
{
Log.i( "makemachine", "onPreExecute()" );
super.onPreExecute();
}
@Override
protected void onProgressUpdate(Integer... values)
{
super.onProgressUpdate(values);
}
// -- called if the cancel button is pressed
@Override
protected void onCancelled()
{
super.onCancelled();
Log.i( "makemachine", "onCancelled()" );
}
// -- called as soon as doInBackground method completes
// -- notice that the third param gets passed to this method
@Override
protected void onPostExecute( String result )
{
super.onPostExecute(result);
Log.i( "makemachine", "onPostExecute(): " + result );
}
}
}