对activity代码:
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import com.example.uilayout.model.Msg;
import com.example.uilayout.adapter.MsgListAdapter;
import com.example.uilayout.R;
import com.example.uilayout.utils.MySQLiteOpenHelper;
import java.util.ArrayList;
import java.util.List;
public class MsgListActivity extends AppCompatActivity {
RecyclerView rv;
List<Msg> msgList = new ArrayList<>();
// TextView friend;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_msglist);
rv = findViewById(R.id.rv);
// friend =findViewById(R.id.tv_friend);
//给rv设置线性布局
rv.setLayoutManager(new LinearLayoutManager(this));
//初始化List集合数据
// initList(msgList);
initListFromDB();
//给rv设置适配器
rv.setAdapter(new MsgListAdapter(msgList));
// MySQLiteOpenHelper helper=new MySQLiteOpenHelper(this,"wechat",null,1);
// SQLiteDatabase db=helper.getWritableDatabase();
}
public void initListFromDB() {
MySQLiteOpenHelper helper = new MySQLiteOpenHelper(this, "wechat", null, 1);
SQLiteDatabase db = helper.getWritableDatabase();
Cursor cursor = db.query("msg", null, null, null, null, null, null);
while (cursor.moveToNext()) {
int headImageSrc = cursor.getInt(cursor.getColumnIndex("headImageSrc"));
String friend = cursor.getString(cursor.getColumnIndex("friend"));
String message = cursor.getString(cursor.getColumnIndex("message"));
String time = cursor.getString(cursor.getColumnIndex("time"));
Msg msg = new Msg(headImageSrc, friend, message, time);
msgList.add(msg);
}
}
}
布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:descendantFocusability="blocksDescendants"
>
<ImageView
android:id="@+id/iv_head"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@drawable/a"
android:layout_marginTop="5dp"
android:layout_marginLeft="10dp"
android:onClick="click"
/>
<TextView
android:id="@+id/tv_friend"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="小张"
android:textSize="20sp"
android:textColor="#000"
android:layout_toRightOf="@+id/iv_head"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:onClick="click"
/>
<TextView
android:id="@+id/tv_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="你在干嘛"
android:textSize="15sp"
android:lines="1"
android:layout_alignLeft="@+id/tv_friend"
android:layout_marginTop="40dp"
android:onClick="click"
/>
<TextView
android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="21:00"
android:textSize="15sp"
android:layout_alignTop="@+id/tv_friend"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
android:onClick="click"
/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="#C0C0C0"
android:layout_alignLeft="@+id/iv_head"
android:layout_alignRight="@+id/tv_time"
android:layout_marginTop="74dp"
/>
</RelativeLayout>
要设置adapter的监听页面:
void onItemOnClick(View view,int position);
void onItemLongOnClick(View view ,int position);
}
private OnItemOnClickListener mOnItemOnClickListener;
//供外部来设置监听
public void setOnItemOnClickListener(OnItemOnClickListener listener){
this.mOnItemOnClickListener = listener;
}