安卓实现仿微信点赞好友昵称列表,中间用逗号隔开

7

安卓实现仿微信点赞好友昵称列表,中间用逗号隔开

仿微信点赞列表实现

第一步:定义ListView和Adapter为了实现仿微信那样的点赞列表,我们首先需要定义一个`ListView`来展示好友昵称列表。同时,我们还需要定义一个`Adapter`来绑定数据源并且处理点击事件。

```java// 定义ListViewprivate ListView mListView;

// 定义Adapterprivate MyAdapter mAdapter;

```

第二步:实现MyAdapter类在`MyAdapter`类中,我们需要重写`getView()`方法来绑定数据源和设置点击事件。同时,我们还需要定义一个`ViewHolder`类来缓存View对象。

```java// 定义ViewHolder类private static class ViewHolder {

public TextView mTextView;

}

// 实现MyAdapter类public class MyAdapter extends BaseAdapter {

private List mDataList;

public MyAdapter(List dataList) {

mDataList = dataList;

}

@Override public int getCount() {

return mDataList.size();

}

@Override public Object getItem(int position) {

return mDataList.get(position);

}

@Override public long getItemId(int position) {

return position;

}

@Override public View getView(final int position, View convertView, ViewGroup parent) {

ViewHolder holder;

if (convertView == null) {

convertView = LayoutInflater.from(context).inflate(R.layout.item_list, null);

holder = new ViewHolder();

holder.mTextView = (TextView) convertView.findViewById(R.id.text_view);

convertView.setTag(holder);

} else {

holder = (ViewHolder) convertView.getTag();

}

String data = mDataList.get(position);

holder.mTextView.setText(data);

// 设置点击事件 convertView.setOnClickListener(new View.OnClickListener() {

@Override public void onClick(View v) {

// 点击事件处理逻辑 Toast.makeText(context, "点击了" + data, Toast.LENGTH_SHORT).show();

}

});

return convertView;

}

}

```

第三步:设置ListView和Adapter在`onCreate()`方法中,我们需要设置`ListView`和`Adapter`。

```java// 设置ListView和AdaptermListView = (ListView) findViewById(R.id.list_view);

List dataList = new ArrayList<>();

dataList.add("好友1");

dataList.add("好友2");

dataList.add("好友3");

mAdapter = new MyAdapter(dataList);

mListView.setAdapter(mAdapter);

```

第四步:实现点击事件在`MyAdapter`类中,我们已经设置了点击事件。点击列表项时,会弹出Toast提示。

```java// 点击事件处理逻辑convertView.setOnClickListener(new View.OnClickListener() {

@Override public void onClick(View v) {

// 点击事件处理逻辑 Toast.makeText(context, "点击了" + data, Toast.LENGTH_SHORT).show();

}

});

```

第五步:实现中间用逗号隔开为了实现中间用逗号隔开,我们需要在`MyAdapter`类中重写`getView()`方法,添加逗号。

```java// 重写getView()方法@Overridepublic View getView(final int position, View convertView, ViewGroup parent) {

ViewHolder holder;

if (convertView == null) {

convertView = LayoutInflater.from(context).inflate(R.layout.item_list, null);

holder = new ViewHolder();

holder.mTextView = (TextView) convertView.findViewById(R.id.text_view);

convertView.setTag(holder);

} else {

holder = (ViewHolder) convertView.getTag();

}

String data = mDataList.get(position);

holder.mTextView.setText(data);

// 添加逗号 if (position >0 && position < mDataList.size() -1) {

holder.mTextView.append(", ");

}

// 设置点击事件 convertView.setOnClickListener(new View.OnClickListener() {

@Override public void onClick(View v) {

// 点击事件处理逻辑 Toast.makeText(context, "点击了" + data, Toast.LENGTH_SHORT).show();

}

});

return convertView;

}

```

第六步:实现跳转到好友详情页为了实现跳转到好友详情页,我们需要在`MyAdapter`类中重写`getView()`方法,添加跳转逻辑。

```java// 重写getView()方法@Overridepublic View getView(final int position, View convertView, ViewGroup parent) {

ViewHolder holder;

if (convertView == null) {

convertView = LayoutInflater.from(context).inflate(R.layout.item_list, null);

holder = new ViewHolder();

holder.mTextView = (TextView) convertView.findViewById(R.id.text_view);

convertView.setTag(holder);

} else {

holder = (ViewHolder) convertView.getTag();

}

String data = mDataList.get(position);

holder.mTextView.setText(data);

// 添加逗号 if (position >0 && position < mDataList.size() -1) {

holder.mTextView.append(", ");

}

// 设置点击事件 convertView.setOnClickListener(new View.OnClickListener() {

@Override public void onClick(View v) {

// 点击事件处理逻辑 Intent intent = new Intent(context, FriendDetailActivity.class);

intent.putExtra("friend_name", data);

context.startActivity(intent);

}

});

return convertView;

}

```

以上就是实现仿微信点赞列表的详细步骤。

点赞

版权声明:除非特别标注,否则均为网络文章,侵权请联系站长删除。

上一篇 Python微信点赞

下一篇 android使用popupwindow仿微信点赞功能