效果图:
(1).activity.java
public class Find_ActTalkActivity extends Activity {
public final static String ACTIVITY_NAME="ACTIVITY_NAME"; //活动名称
public final static String ACTIVITY_ID="ACTIVITY_ID"; // 活动id
public final static String ACTIVITY_MANNUM = "ACTIVITY_MANNUM";//讨论人数
public final static int TALK_TYPE_YOU = 0;
public final static int TALK_TYPE_ME = 1;
private PullToRefreshListView pullToRefresh;
private List<Integer> talkList = new ArrayList<>();//测试
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_find__act_talk);
Intent intent = getIntent();
String activity_name = intent.getStringExtra(Find_ActTalkActivity.ACTIVITY_NAME);
String man_num = intent.getStringExtra(Find_ActTalkActivity.ACTIVITY_MANNUM);
((TextView)findViewById(R.id.titleText)).setText(activity_name + "(" + man_num +")");
pullToRefresh = (PullToRefreshListView) findViewById(R.id.list);
ceshi(); //测试用
TalkAdaper adaper = new TalkAdaper();
pullToRefresh.setAdapter(adaper);
}
//测试用
private void ceshi(){
for(int i = 0;i < 40;i++){
talkList.add((int)(Math.random() * 10));
}
}
class TalkAsy extends AsyncTask<String ,Void, Boolean>{
@Override
protected Boolean doInBackground(String... params) {
return null;
}
}
class TalkAdaper extends BaseAdapter{
private LayoutInflater inflater;
public TalkAdaper(){
inflater = LayoutInflater.from(Find_ActTalkActivity.this);
}
@Override
public int getCount() {
return talkList.size();
}
@Override
public Object getItem(int position) {
return talkList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public int getViewTypeCount() {
return 2;
}
@Override
public int getItemViewType(int position) {
int type = talkList.get(position);
if ((type%2)== 0){
return TALK_TYPE_ME;
}
return TALK_TYPE_YOU;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
int type = getItemViewType(position);
if(convertView == null){
switch (type){
case TALK_TYPE_YOU:
convertView = inflater.inflate(R.layout.talk_item_you,parent,false);
break;
case TALK_TYPE_ME:
convertView = inflater.inflate(R.layout.talk_item_me,parent,false);
break;
}
holder = new ViewHolder();
holder.talk_time = (TextView) convertView.findViewById(R.id.talk_time);
holder.talk_icon = (ImageView) convertView.findViewById(R.id.talk_icon);
holder.talk_man = (TextView) convertView.findViewById(R.id.talk_man);
holder.talk_content = (TextView) convertView.findViewById(R.id.talk_content);
convertView.setTag(holder);
}else{
holder = (ViewHolder) convertView.getTag();
}
holder.talk_time.setVisibility(View.GONE);
return convertView;
}
}
private static class ViewHolder{
private TextView talk_time;
private TextView talk_man;
private TextView talk_content;
private ImageView talk_icon;
}
public void click(View view){
switch (view.getId()){
case R.id.topButtonLeft:
finish();
break;
case R.id.addTalk:
Toast.makeText(this,"加入讨论",Toast.LENGTH_SHORT).show();
break;
}
}
}
(2).布局文件 activity_find__act_talk.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/dicuss_bg"
tools:context="com.inetgoes.fangdd.activity.Find_ActTalkActivity">
<RelativeLayout
android:id="@+id/topbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:layout_margin="10dp"
>
<ImageView
android:id="@+id/topButtonLeft"
android:background="@drawable/nav_icon_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5.0dip"
android:onClick="click"
android:layout_centerVertical="true"
/>
<TextView
android:textSize="@dimen/TopBarTextSize"
android:textColor="@android:color/white"
android:gravity="center"
android:id="@+id/titleText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="标题"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="0.5dp"
android:background="@android:color/white"/>
<com.handmark.pulltorefresh.library.PullToRefreshListView
xmlns:ptr="http://schemas.android.com/apk/res-auto"
android:id="@+id/list"
android:cacheColorHint="#00000000"
android:listSelector="@drawable/listview_item_selector"
android:divider="#19000000"
android:dividerHeight="0dp"
android:fadingEdge="none"
android:fastScrollEnabled="false"
android:footerDividersEnabled="false"
android:headerDividersEnabled="false"
android:smoothScrollbar="true"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
ptr:ptrDrawable="@drawable/default_ptr_flip"
ptr:ptrAnimationStyle="flip"
ptr:ptrHeaderBackground="@color/progress_backgroud"
ptr:ptrHeaderTextColor="@color/floor_item_text_black" />
<TextView
android:id="@+id/addTalk"
android:layout_width="match_parent"
android:layout_height="50dp"
android:text="加入讨论"
android:gravity="center"
android:onClick="click"
android:clickable="true"
android:textSize="@dimen/TitleTextSize"
android:textColor="@android:color/white"
android:background="@drawable/ab_bottom_solid_inetgoes_actionbar"/>
</LinearLayout>
(3).item布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/talk_time"
android:textSize="12sp"
android:text="16:25:35"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:src="@drawable/touxiang"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/talk_icon" />
<LinearLayout
android:orientation="vertical"
android:layout_marginLeft="8dp"
android:layout_toRightOf="@id/talk_icon"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/talk_man"
android:text="王屎冲"
android:textColor="@android:color/white"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/talk_content"
android:text="后台在改接口后台在改接口后台在改接口"
android:textSize="16sp"
android:background="@drawable/reader_text_target"
android:layout_width="wrap_content"
android:textColor="@android:color/white"
android:layout_height="wrap_content" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/talk_time"
android:textSize="12sp"
android:text="16:25:35"
android:layout_gravity="center_horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:layout_alignParentRight="true"
android:src="@drawable/touxiang"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/talk_icon" />
<LinearLayout
android:orientation="vertical"
android:layout_marginRight="8dp"
android:layout_toLeftOf="@id/talk_icon"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_gravity="right"
android:id="@+id/talk_man"
android:text="王屎冲"
android:textColor="@android:color/white"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/talk_content"
android:text="后台在改接口后台在改接口后台在改接口"
android:textSize="16sp"
android:background="@drawable/reader_text_target_me"
android:layout_width="wrap_content"
android:textColor="@android:color/white"
android:layout_height="wrap_content" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
本文介绍了一个安卓应用程序中实现讨论活动页面的方法。该页面包括顶部标题栏、滚动刷新列表视图及底部加入讨论按钮等组件,并通过不同布局展示讨论内容。代码展示了如何设置页面元素、初始化列表数据以及自定义适配器。
863

被折叠的 条评论
为什么被折叠?



