想请教各位大牛一个问题,这个问题困扰我很久,希望大家可以帮忙看看,欢迎大家讨论啊。。

问题如下:
xml文件,就是两个控件 TextView1和mySpinner1
java文件中,有一个变量list,我用线程获取了数据并用Handler hand接收数据,然后成功赋值给list。之后,我把定义了spinner的adapter和setOnItemSelectedListener,加入list数据源,运行后可以看到虽然数据绑定成功,但是首项并未显示,而且点击并没有反应,到底是为什么啊啊啊。。。
其运行效果如下:

其java代码如下:
public class Test extends Activity{
private Spinner mySpinner1;private TextView tv;
private List<String> list = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.testxx);
mySpinner1=(Spinner) findViewById(R.id.spinn);
tv=(TextView) findViewById(R.id.textView1);
getlist();
//tv.setText(list.get(1));这里异常,说list.size=0
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, list);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
mySpinner1.setAdapter(adapter);
mySpinner1.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {//点击没有反应
public void onItemSelected(AdapterView<?> arg0, View arg1,
int position, long arg3) {
tv.setText(String.valueOf(position));
}
public void onNothingSelected(AdapterView<?> arg0) {
}
});
}
private void getlist() {
Handler hand = new Handler() {
public void handleMessage(android.os.Message msg) {
super.handleMessage(msg);
try {
String Jstr = (((((String)msg.obj).replaceAll(", ", "\",\"")) .replaceAll("=", "\":\"")).replace("{", "{\"")) .replace("}", "\"}");
JSONObject Jobj=new JSONObject(Jstr);
list.add("请选择");
for(int i=1;i<Jobj.length()+1;i++){
list.add(Jobj.getString("tname"+i));//这里是正常的,确实正确赋值了
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
ThreadPoolUtils.execute(new HttpPostThread(hand,
Config.SERVER_URL+Config.ACTION_Clubinfo,"viewAllt",null,null));
}
}