/*-------------------完全以代码的形式生成视图------------------------------------*/
LinearLayout linearLayout = new LinearLayout(Tab1.this);// 创建LinearLayout
linearLayout.setOrientation(LinearLayout.HORIZONTAL);
linearLayout.setGravity(Gravity.CENTER);
ImageView imageView = new ImageView(Tab1.this); // 创建ImageView
imageView.setAdjustViewBounds(true);
imageView.setImageResource(images[position]); // 设置ImageView显示的内容
TextView textView = new TextView(Tab1.this);// 创建TextextViewiew
textView.setPadding(10, 0, 0, 0);
textView.setLayoutParams(new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
textView.setTextAppearance(Tab1.this, R.style.title);
textView.setText(items[position]); // 设置TextextViewiew显示的内容
linearLayout.addView(imageView); // 将ImageView添加到线性布局中
linearLayout.addView(textView);// 将textView添加到线性布局中
return linearLayout;
/*---------------------更新心情----------------------------------*/
// 将一个xml文件渲染成view,并设置成对话框的view
LayoutInflater inflate = LayoutInflater.from(Tab1.this);
tab1_1 = inflate.inflate(R.layout.tab1_1, null);
new AlertDialog.Builder(Tab1.this)// 以弹出式对话框的形式更新心情
.setTitle("更新心情")// 标题
.setIcon(R.drawable.p_status)// 图标
.setView(tab1_1)// 设置成对话框的view
.setPositiveButton("发表",
new DialogInterface.OnClickListener() {
@Override
public void onClick(
DialogInterface dialog,
int which) {
progressDialog = ProgressDialog
.show(Tab1.this, "请稍候",
"正在更新心情...", true,
true);
updateStatus();// 提交服务器
}
})
//
.setNegativeButton("取消",
new DialogInterface.OnClickListener() {
@Override
public void onClick(
DialogInterface dialog,
int which) {
}
}).show();
/*--------------------------------------------------------------*/
etStatus = (EditText) tab1_1.findViewById(R.id.editstatus);
// 方法:连接服务器,更新心情
public void updateStatus() {
new Thread() {
public void run() {
Looper.prepare();
etStatus = (EditText) tab1_1.findViewById(R.id.editstatus);
String status = etStatus.getEditableText().toString().trim(); // 获得心情内容
if (status.equals("")) { // 如果输入的心情为空
progressDialog.dismiss();
Toast.makeText(Tab1.this, "请输入更新的心情", 2000).show();// 输出提示
Looper.loop();
return;
}
String message = "<#NEW_STATUS#>" + status + "|" + uno;
if (connector == null) {
connector = new Connector(SERVER_ADDRESS, SERVER_PORT);
}
try {
connector.dout.writeUTF(message); // 向服务器发送更新的心情
progressDialog = ProgressDialog.show(Tab1.this, "正在连接网络",
"请稍候", true);
String reply = connector.din.readUTF(); // 从服务器返回的回复
progressDialog.dismiss();
if (reply.equals("<#STATUS_SUCCESS#>")) { // 心情更新成功
Toast.makeText(Tab1.this, "心情更新成功!", 2000).show();
Looper.loop();
} else { // 心情更新失败
Toast.makeText(Tab1.this, "心情更新失败!", 2000).show();
Looper.loop();
}
} catch (Exception e) {
e.printStackTrace();
}
Looper.myLooper().quit();
}
}.start();
}