最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android中使用ListView模擬微信好友功能

 更新時間:2017年08月28日 15:13:04   作者:鉆石VIP  
這篇文章主要介紹了Android中使用ListView模擬微信好友功能,需要的朋友可以參考下

效果圖:

分析:

1、創(chuàng)建listView

2、創(chuàng)建數(shù)據(jù)

3、創(chuàng)建適配器

  將數(shù)據(jù)放到呈現(xiàn)數(shù)據(jù)的容器里面。

  將這個容器(帶數(shù)據(jù))連接適配器。

    其實是直接在我們自己寫的adapter的getView重載方法中返回連接的view?!  ?/p>

 View view=View.inflate(mContext, com.example.weChatFriends.R.layout.item_friend, null);
    return view;

4、ListView設置適配器

代碼:

package fry;
import java.util.ArrayList;
import java.util.List;
import com.example.weChatFriends.R;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.Toast;
public class Activity01 extends Activity implements OnItemSelectedListener,OnItemClickListener{
  private FriendModel friend;
  private ListView listView;
  private List<FriendModel> list;
  private weChatListAdapter adapter;
  //存資源圖片ID
  private int[] imageID=new int[]{R.drawable.image1,R.drawable.image2,
      R.drawable.image3,R.drawable.image4,R.drawable.image5,R.drawable.image6,
      R.drawable.image7,R.drawable.image8,R.drawable.image9,R.drawable.image10,
      R.drawable.image11};
  //存昵稱
  private String[] nickName=new String[]{"張三","吳京","戰(zhàn)狼","神煩xp","木魚"
      ,"水心","系大大","電影","血怒","創(chuàng)奇","講故事"
  };
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity01);
    init();
    setData();
  }
  private void setData() {
    //這里要是寫成for(int i:imageID),那么i就是資源id,例如2130837505
    for(int i=0;i<imageID.length;i++){
      FriendModel friend1=new FriendModel();
      //System.out.println(i);
      friend1.setImageNum(imageID[i]);
      friend1.setNickName(nickName[i]);
      friend1.setSignature("我要做比海賊王還強大的人");
      list.add(friend1);
    }
    adapter=new weChatListAdapter(list, this);
    listView.setAdapter(adapter);
  }
  private void init() {
    listView=(ListView) findViewById(R.id.listView);
    listView.setOnItemSelectedListener(this);
    listView.setOnItemClickListener(this);
    friend=new FriendModel();
    list=new ArrayList<FriendModel>();
  }
  /*
   * Callback method to be invoked when an item in this view has been selected. This callback is invoked only when the newly selected position is different from the previously selected position or if there was no selected item.(non-Javadoc)
   * @see android.widget.AdapterView.OnItemSelectedListener#onItemSelected(android.widget.AdapterView, android.view.View, int, long)
   */
  @Override
  public void onItemSelected(AdapterView<?> parent, View view, int position,
      long id) {
  }
  @Override
  public void onNothingSelected(AdapterView<?> parent) {
    // TODO Auto-generated method stub
  }
  @Override
  public void onItemClick(AdapterView<?> parent, View view, int position,
      long id) {
    FriendModel friendItem=(FriendModel) parent.getItemAtPosition(position);
    String s=friendItem.getNickName();
    Log.d("onItemClick","s");
    Toast.makeText(this, s, Toast.LENGTH_SHORT).show();
  }
}
package fry;
import java.util.List;
import com.example.weChatFriends.R;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class weChatListAdapter extends BaseAdapter{
  private List<FriendModel> myData;
  private Context mContext;
  private ImageView avator;
  private TextView nickName1;
  private TextView signature1;
  private FriendModel friend;
  public weChatListAdapter(List<FriendModel> data, Context mContext) {
    super();
    this.myData = data;
    this.mContext = mContext;
  }
  //How many items are in the data set represented by this Adapter.
  @Override
  public int getCount() {
    // TODO Auto-generated method stub
    return this.myData.size();
  }
  //Get the data item associated with the specified position in the data set.
  @Override
  public Object getItem(int position) {
    // TODO Auto-generated method stub
    return this.myData.get(position);
  }
  //Get the row id associated with the specified position in the list.
  @Override
  public long getItemId(int position) {
    // TODO Auto-generated method stub
    return position;
  }
  //Get a View that displays the data at the specified position in the data set. 
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    View view=View.inflate(mContext, com.example.weChatFriends.R.layout.item_friend, null);
    //System.out.println(position);
    friend=myData.get(position);
    int ImageID=friend.getImageNum();
    String nickName=friend.getNickName();
    String signature=friend.getSignature();
    avator=(ImageView) view.findViewById(R.id.iv_avator);
    nickName1=(TextView)view.findViewById(R.id.tv_nickname);
    signature1=(TextView)view.findViewById(R.id.tv_signature);
    avator.setImageResource(ImageID);
    nickName1.setText(nickName);
    signature1.setText(signature);
    return view;
  }
}

自己創(chuàng)建的適配器

package fry;
public class FriendModel {
  //頭像的圖片id
  private int imageNum;
  //昵稱
  private String nickName;
  //個性簽名
  private String signature;
  public int getImageNum() {
    return imageNum;
  }
  public void setImageNum(int imageNum) {
    this.imageNum = imageNum;
  }
  public String getNickName() {
    return this.nickName;
  }
  public void setNickName(String nickName) {
    this.nickName = nickName;
  }
  public String getSignature() {
    return signature;
  }
  public void setSignature(String signature) {
    this.signature = signature;
  }
}

列表中聯(lián)系人數(shù)據(jù)的封裝

<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/listView"
  android:layout_width="match_parent"
  android:layout_height="wrap_content" >
</ListView>
ListView
 ListView
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content" >
  <ImageView 
    android:id="@+id/iv_avator"
    android:layout_width="70dp"
    android:layout_height="70dp"
    android:src="@drawable/image1"
    />
  <TextView 
    android:id="@+id/tv_nickname"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toRightOf="@+id/iv_avator"
    android:layout_centerVertical="true"
    android:layout_marginLeft="20dp"
    android:text="張三"
    />
  <TextView 
    android:id="@+id/tv_signature"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerVertical="true"
    android:layout_alignParentRight="true"
    android:text="我要做比海賊王更強大的男人"
    />
</RelativeLayout>

用于存放數(shù)據(jù)的容器

相關文章

  • Android通過ksoap2傳遞復雜數(shù)據(jù)類型及CXF發(fā)布的webservice詳細介紹

    Android通過ksoap2傳遞復雜數(shù)據(jù)類型及CXF發(fā)布的webservice詳細介紹

    這篇文章主要介紹了 Android通過ksoap2傳遞復雜數(shù)據(jù)類型詳細介紹的相關資料,需要的朋友可以參考下
    2017-02-02
  • 如何使用Flutter實現(xiàn)手寫簽名效果

    如何使用Flutter實現(xiàn)手寫簽名效果

    Flutter插件提供了用于繪制平滑簽名的簽名板,下面這篇文章主要給大家介紹了關于如何使用Flutter實現(xiàn)手寫簽名效果的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-12-12
  • Android開發(fā)之AppWidget詳解

    Android開發(fā)之AppWidget詳解

    這篇文章主要介紹了Android開發(fā)之AppWidget詳解,想了解桌面程序AppWidget的同學可以參考下
    2021-04-04
  • Android notifyDataSetChanged() 動態(tài)更新ListView案例詳解

    Android notifyDataSetChanged() 動態(tài)更新ListView案例詳解

    這篇文章主要介紹了Android notifyDataSetChanged() 動態(tài)更新ListView案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Android Studio 3.6運行模擬器時Emulator警告問題的解決方案

    Android Studio 3.6運行模擬器時Emulator警告問題的解決方案

    這篇文章主要介紹了Android Studio 3.6運行模擬器時Emulator警告問題的解決方案,本文給大家介紹的非常詳細,對大家的工作或?qū)W習具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • Android中Listview點贊功能的實現(xiàn)

    Android中Listview點贊功能的實現(xiàn)

    最近一段時間在研究android方面的知識,利用listview實現(xiàn)點贊功能,下面小編通過本文給大家介紹下基本思路,需要的朋友可以參考下
    2016-11-11
  • Android實現(xiàn)設置APP灰白模式效果

    Android實現(xiàn)設置APP灰白模式效果

    大家好,本篇文章主要講的是Android實現(xiàn)設置APP灰白模式效果,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Android RIL使用詳解

    Android RIL使用詳解

    這篇文章主要介紹了Android RIL使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • flutter實現(xiàn)發(fā)送驗證碼功能

    flutter實現(xiàn)發(fā)送驗證碼功能

    這篇文章主要為大家詳細介紹了flutter發(fā)送驗證碼功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Android Jetpack庫剖析之Lifecycle組件篇

    Android Jetpack庫剖析之Lifecycle組件篇

    本章也是帶來了Jetpack中我認為最重要的架構組件Lifecycle的原理探索,至于為什么覺得它是最重要是因為像ViewModel,LiveData這些組件也依賴于Lifecycle來感知宿主的生命周期,那么本章我們帶著幾個問題來探索一下這個組件
    2022-07-07

最新評論

赞皇县| 瓮安县| 金山区| 神农架林区| 尚义县| 屯留县| 阿鲁科尔沁旗| 公安县| 香港| 电白县| 石门县| 玛纳斯县| 乌兰县| 闽侯县| 多伦县| 体育| 永寿县| 申扎县| 诸城市| 墨江| 舞钢市| 承德市| 洛川县| 新余市| 襄垣县| 玉山县| 金华市| 昌邑市| 寿光市| 林州市| 南投市| 云浮市| 彭阳县| 东平县| 长宁区| 连江县| 佛山市| 罗江县| 安多县| 武隆县| 渭源县|