要实现上述message聊天功能,该如何在MessageDetialActivity中添加代码,实现item的动态添加??friend_item.xml
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout android:orientation="horizontal"
android:id="@+id/message_detail_friend_item"
android:paddingLeft="4.0dip"
android:paddingTop="4.0dip"
android:paddingRight="4.0dip"
android:paddingBottom="4.0dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2.0dip"
android:layout_marginBottom="2.0dip"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:id="@+id/message_detail_item_avatar_layout"
android:gravity="center"
android:background="@drawable/news_headborder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5.0dip"
android:layout_marginTop="2.0dip"
android:layout_marginRight="5.0dip"
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView
android:id="@+id/message_detail_item_avatar"
android:layout_width="33.0dip"
android:layout_height="33.0dip"
android:src="@drawable/news_head" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:background="@drawable/leftbubble_bg"
android:paddingLeft="16.0dip"
android:paddingTop="8.0dip"
android:paddingRight="8.0dip"
android:paddingBottom="8.0dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:id="@+id/message_detail_item_name"
android:textSize="16.0dip"
android:textColor="@drawable/blue1"
android:background="@android:drawable/list_selector_background"
android:clickable="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/message_detail_item_time"
android:textSize="16.0dip"
android:textColor="@drawable/gray2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5.0dip" />
</LinearLayout>
<TextView
android:id="@+id/message_detail_item_content"
android:textColor="@drawable/black"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5.0dip" />
<TextView
android:id="@+id/message_detail_item_attachment_des"
android:textStyle="bold"
android:textColor="@drawable/black"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10.0dip" />
<LinearLayout
android:id="@+id/message_detail_item_attachment_list"
android:orientation="vertical"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4.0dip"
android:layout_marginBottom="4.0dip"
xmlns:android="http://schemas.android.com/apk/res/android" />
</LinearLayout>
</LinearLayout>
-------------------------------------------------------------------------------------------me_item.xml<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
android:id="@+id/message_detail_me_item"
android:orientation="horizontal"
android:paddingLeft="4.0dip"
android:paddingTop="4.0dip"
android:paddingRight="4.0dip"
android:paddingBottom="4.0dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2.0dip"
android:layout_marginBottom="2.0dip"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:orientation="vertical"
android:background="@drawable/rightbubble_bg"
android:paddingLeft="8.0dip"
android:paddingTop="8.0dip"
android:paddingRight="16.0dip"
android:paddingBottom="8.0dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:id="@+id/message_detail_item_name"
android:textSize="16.0dip"
android:textColor="@drawable/blue1"
android:background="@android:drawable/list_selector_background"
android:clickable="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/message_detail_item_time"
android:textColor="@drawable/gray2"
android:textSize="16.0dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="6.0dip" />
</LinearLayout>
<TextView
android:id="@+id/message_detail_item_content"
android:textColor="@drawable/black"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5.0dip" />
<TextView
android:id="@+id/message_detail_item_attachment_des"
android:textStyle="bold"
android:textColor="@drawable/black"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10.0dip" />
<LinearLayout
android:id="@+id/message_detail_item_attachment_list"
android:orientation="vertical"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4.0dip"
android:layout_marginBottom="4.0dip"
xmlns:android="http://schemas.android.com/apk/res/android" >
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/message_detail_item_avatar_layout"
android:gravity="center"
android:background="@drawable/news_headborder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5.0dip"
android:layout_marginTop="2.0dip"
android:layout_marginRight="5.0dip"
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView
android:id="@+id/message_detail_item_avatar"
android:layout_width="33.0dip"
android:layout_height="33.0dip"
android:src="@drawable/news_head" />
</LinearLayout>
</LinearLayout>---------------------------------------------------------------------------------------
接楼下
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout android:orientation="horizontal"
android:id="@+id/message_detail_friend_item"
android:paddingLeft="4.0dip"
android:paddingTop="4.0dip"
android:paddingRight="4.0dip"
android:paddingBottom="4.0dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2.0dip"
android:layout_marginBottom="2.0dip"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:id="@+id/message_detail_item_avatar_layout"
android:gravity="center"
android:background="@drawable/news_headborder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5.0dip"
android:layout_marginTop="2.0dip"
android:layout_marginRight="5.0dip"
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView
android:id="@+id/message_detail_item_avatar"
android:layout_width="33.0dip"
android:layout_height="33.0dip"
android:src="@drawable/news_head" />
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:background="@drawable/leftbubble_bg"
android:paddingLeft="16.0dip"
android:paddingTop="8.0dip"
android:paddingRight="8.0dip"
android:paddingBottom="8.0dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:id="@+id/message_detail_item_name"
android:textSize="16.0dip"
android:textColor="@drawable/blue1"
android:background="@android:drawable/list_selector_background"
android:clickable="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/message_detail_item_time"
android:textSize="16.0dip"
android:textColor="@drawable/gray2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5.0dip" />
</LinearLayout>
<TextView
android:id="@+id/message_detail_item_content"
android:textColor="@drawable/black"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5.0dip" />
<TextView
android:id="@+id/message_detail_item_attachment_des"
android:textStyle="bold"
android:textColor="@drawable/black"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10.0dip" />
<LinearLayout
android:id="@+id/message_detail_item_attachment_list"
android:orientation="vertical"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4.0dip"
android:layout_marginBottom="4.0dip"
xmlns:android="http://schemas.android.com/apk/res/android" />
</LinearLayout>
</LinearLayout>
-------------------------------------------------------------------------------------------me_item.xml<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
android:id="@+id/message_detail_me_item"
android:orientation="horizontal"
android:paddingLeft="4.0dip"
android:paddingTop="4.0dip"
android:paddingRight="4.0dip"
android:paddingBottom="4.0dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2.0dip"
android:layout_marginBottom="2.0dip"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:orientation="vertical"
android:background="@drawable/rightbubble_bg"
android:paddingLeft="8.0dip"
android:paddingTop="8.0dip"
android:paddingRight="16.0dip"
android:paddingBottom="8.0dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:id="@+id/message_detail_item_name"
android:textSize="16.0dip"
android:textColor="@drawable/blue1"
android:background="@android:drawable/list_selector_background"
android:clickable="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/message_detail_item_time"
android:textColor="@drawable/gray2"
android:textSize="16.0dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="6.0dip" />
</LinearLayout>
<TextView
android:id="@+id/message_detail_item_content"
android:textColor="@drawable/black"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5.0dip" />
<TextView
android:id="@+id/message_detail_item_attachment_des"
android:textStyle="bold"
android:textColor="@drawable/black"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10.0dip" />
<LinearLayout
android:id="@+id/message_detail_item_attachment_list"
android:orientation="vertical"
android:visibility="gone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4.0dip"
android:layout_marginBottom="4.0dip"
xmlns:android="http://schemas.android.com/apk/res/android" >
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/message_detail_item_avatar_layout"
android:gravity="center"
android:background="@drawable/news_headborder"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5.0dip"
android:layout_marginTop="2.0dip"
android:layout_marginRight="5.0dip"
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView
android:id="@+id/message_detail_item_avatar"
android:layout_width="33.0dip"
android:layout_height="33.0dip"
android:src="@drawable/news_head" />
</LinearLayout>
</LinearLayout>---------------------------------------------------------------------------------------
接楼下
package com.vanceinfo.activity;import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;import android.app.Activity;
import android.os.Bundle;
import android.text.Layout;
import android.view.View;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;import com.vanceinfo.R;
import com.vanceinfo.protocol.ProtocolAPI;
import com.vanceinfo.test.TestMessage;public class MessageDetailActivity extends Activity {
private Button inboxButton, replyButton;
private ImageView titleIcon, headIcon;
private TextView titleText, nameText, timeText;
private LinearLayout layout, me_item_Layout, friend_item_Layout;
private long uid; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.message_detail_activity);
inboxButton = (Button) findViewById(R.id.kaixin_title_bar_left_button);
replyButton = (Button) findViewById(R.id.kaixin_title_bar_right_button);
titleIcon = (ImageView) findViewById(R.id.kaixin_title_bar_center_icon);
titleText = (TextView) findViewById(R.id.kaixin_title_bar_center_text);
titleIcon.setVisibility(View.GONE);
inboxButton.setBackgroundResource(R.drawable.title_arrow_button);
replyButton.setBackgroundResource(R.drawable.title_text_button);
inboxButton.setText(R.string.message_inbox);
replyButton.setText(R.string.reply);
layout = (LinearLayout) findViewById(R.id.message_detail_activity_content);
nameText = (TextView) findViewById(R.id.message_detail_item_name);
timeText = (TextView) findViewById(R.id.message_detail_item_time);
headIcon = (ImageView) findViewById(R.id.message_detail_item_avatar);
me_item_Layout = (LinearLayout) findViewById(R.layout.message_detail_me_item);
friend_item_Layout = (LinearLayout) findViewById(R.layout.message_detail_friend_item);
addView();
}
/**
*
* @return
*/
public JSONArray getData() {
long uid = TestMessage.uid;
String verify = TestMessage.verify;
long mid = TestMessage.mid;
JSONObject jsonObject = null;
Short n = 5;
try {
jsonObject = ProtocolAPI.messageDetial(uid, verify, TestMessage.mid, n);
JSONArray messageArray = jsonObject.getJSONArray("msgs");
uid = jsonObject.getLong("uid");
return messageArray;
} catch (Exception e) {
e.printStackTrace();
}
return null;
} public void addView() {
JSONArray array = getData();
JSONObject jsonObject = new JSONObject();
for (int i = 0; i < array.length(); i++) {
try {
jsonObject = array.getJSONObject(i);
if (jsonObject.getLong("uid") == uid) {
//说明:在me_item_Layout和friend_item_Layout两个item布局文件中,nameText和timeText采用的是相同的id
//更新me_item_Layout中nameText,timeText的值,并将me_item_Layout添加到layout中
//这里的代码该如何添加???????
// nameText.setText(jsonObject.getString("fname"));
// timeText.setText(jsonObject.getInt("ctime"));
// layout.addView(me_item_Layout);
} else {
//更新friend_item_Layout中nameText,timeText的值,并将friend_item_Layout添加到layout中
//这里的代码该如何添加???????
// nameText.setText(jsonObject.getString("fname"));
// timeText.setText(jsonObject.getInt("ctime") );
// layout.addView(friend_item_Layout);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
}
------------------------------------------------------------------------------------message_detail_activity.xml
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
android:orientation="vertical"
android:background="@drawable/message_detail_bg"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<include android:id="@+id/kaixin_desktop_title_bar" layout="@layout/kaixin_title_bar" />
<LinearLayout android:gravity="center"
android:id="@+id/message_detail_progress_item"
android:orientation="horizontal"
android:paddingTop="10.0dip"
android:paddingBottom="10.0dip"
android:visibility="gone"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<ProgressBar
android:layout_gravity="center_vertical"
android:visibility="visible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="4.0dip"
android:indeterminateDrawable="@drawable/progress_bar_drawable"
style="?android:progressBarStyleSmall" />
<TextView
android:textSize="18.0dip"
android:textColor="@drawable/gray1"
android:gravity="center"
android:layout_gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/downloading" />
</LinearLayout>
<ScrollView
android:id="@+id/message_detail_activity_main_layout"
android:paddingBottom="5.0dip"
android:scrollbars="vertical"
android:fadingEdge="none"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView
android:id="@+id/message_detail_activity_friends_des"
android:textColor="@drawable/black"
android:visibility="gone" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_marginLeft="4.0dip"
android:layout_marginTop="6.0dip" android:layout_marginRight="4.0dip"
android:layout_marginBottom="4.0dip" />
<TextView
android:id="@+id/message_detail_activity_type_des"
android:textSize="18.0dip"
android:textStyle="bold"
android:textColor="@drawable/red"
android:visibility="gone" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_marginLeft="4.0dip"
android:layout_marginTop="6.0dip" android:layout_marginRight="4.0dip"
android:layout_marginBottom="4.0dip" android:text="@string/private_message" />
<!-- start 需要添加me_item.xml或friend_item.xml的布局 -->
<LinearLayout
android:id="@+id/message_detail_activity_content"
android:orientation="vertical"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_marginLeft="4.0dip" android:layout_marginTop="4.0dip"
android:layout_marginRight="4.0dip" android:layout_marginBottom="4.0dip"
xmlns:android="http://schemas.android.com/apk/res/android" />
<!-- end 需要添加me_item.xml或friend_item.xml的布局 -->
<Button
android:id="@+id/message_detail_activity_reply"
android:textSize="16.0dip"
android:textColor="@drawable/blue1"
android:gravity="center"
android:layout_gravity="center_horizontal"
android:background="@drawable/white_button_style"
android:layout_width="200.0dip"
android:layout_height="40.0dip"
android:layout_marginTop="10.0dip"
android:layout_marginBottom="10.0dip"
android:text="@string/reply" />
</LinearLayout>
</ScrollView>
</LinearLayout>
friend列表也采用同样的方式。原理是一样的。
PS:看最上面的状态栏图标很像开心网的应用?