Только основываясь на фрагменте кода, в этом случае вы неправильно используют AsyncTask.
for(int i=0;i<7;i++){
((LinearLayout) Global.a.findViewById(R.id.scrollLayout)).addView(new Column(Global.a,i));
}
Этого никогда не должно быть сделано в AysncTask. Если это делается doInBackground, вы изменяете пользовательский интерфейс из другого потока, если он выполняется где-то еще (onPreExecute(), onPostExecute() или onProgressUpdate(), тогда вы запускаете цикл for в потоке пользовательского интерфейса.
наилучшим решением было бы создать файл XML с видом вы хотите добавить к нему уже в нем. Хотя, если вы намерены добавлять взгляды в AsyncTask, то вам необходимо изменить, как его сделать.
private SomeName extends AsyncTask<Void,Column,Void>{
private Linearlayout layout;
protected void onPreExecute(Void... unused){
//UI thread
//show dialog
layout = (LinearLayout) Global.a.findViewById(R.id.scrollLayout);
}
protected void doInBackground(Void... unused){
//Background thread
for(int i=0;i<7;i++){
//create the view in the background
Column column = new Column(Global.a,i);
//call publish progress to update the UI
publishProgress(column);
}
}
protected void onProgressUpdate(Column... column){
//UI thread
//Update the UI
layout.addView(column[0]);
}
protected void onPreExecute(Void... unused){
//UI thread
//dismiss dialog
}
}
Танк вам очень нравится. –