Activity_main.
xml
<ListView
android:id = “@+id/listView”
android:width = “match_parent”
android:height = “match_parent” />
MainActivity.java
class MainActivity extends AppCompactActivity{
ListView listView;
ArrayList<String> arrayList;
ArrayAdapter arrayAdapter;
@Override
protected void onCreate(Bundle saveInstanceState){
ListView
super.onCreate(saveInstanceState);
setContentView(R.layout.activity_main); Android
//step 1 iOS
listView = findViewById(R.id.listView); Microsoft
//step 2
arrayList = new ArrayList<>();
arrayList.Add(“Android”);
arrayList.Add(“iOS”);
arrayList.Add(“Microsoft”);
arrayList.Add(“RIM”);
//step 3
arrayAdapter = new ArrayAdapter(MainActivity.this,android.R.lay.simple_list_item_1,arrayList);
//step 4
listView.setAdapter(arrayAdapter);
listView.setOnItemClickListener(int pos)
listView.setOnItemLongClickListener(int pos)
}
activity_main.xml (res/layout)
<ListView
android:id = “@+id/listView”
android:width = “match_parent”
android:height = “match_parent” />
<GridView
android:id = “@+id/listView”
android:width = “match_parent”
android:height = “match_parent”
android:horizontalSpacing = “???dp” (2-4dp)
android:verticalSpacing = “???dp” (2-4dp)
android:columnWidth=”???dp” (120 – 160dp)
android:numColumns=”???dp”/>
layout_item.xml (res/layout)
Right Click res new Layout resource file
<LinearLayout (//RelativeLayout // FrameLayout)
android:width = “match_parent”
android:height = “wrap_content”
android: orientation =”horizontal”>
<ImageView
android:id = “@+id/imageView”
android:width = “100dp”
android:height = “100dp”
android:src=”@color/primaryDark”/>
<TextView
android:id = “@+id/textView”
android:width = “match_parent”
android:height = “100dp”
android:text = “Name”
android:gravity=”center|left” />
</LinearLayout>
Student.java
Right Click java com.example.StudentList class
// Atl+Insert
public class Student {
int image;
String name
public Student (int image, String name){
this.image = image;
this.name = name;
}
StudentAdapter.java
Right Click java com.example.StudentList class
//Alt Enter
public StudentAdapter extends ArrayAdapter<Student>{
Context context;
int layout;
ArrayList<Student> arrayList;
public StudentAdapter(Context context,int resource, ArrayList<Student> arrayList){
this.context = context;
this.layout = resource;
this.arrayList = arrayList;
@Override
public View getView(int position, View convertView, ViewGroup parent){
Student student = arrayList.get(position);
converView = LayoutInflater.from(context).inflate(layout,parent,false);
TextView textView = convertView.findViewById(R.id.textView)
ImageView imageView = convertView.findViewById(R.id. imageView)
textView.setText(student.getName());
imageView.setImageResource(student.getImage())
return convertView;
}
class MainActivity extends AppCompactActivity{
ListView listView;
ArrayList<Student> arrayList;
StudentAdapter arrayAdapter;
@Override
protected void onCreate(Bundle saveInstanceState){
ListView
super.onCreate(saveInstanceState);
setContentView(R.layout.activity_main);
//step 1
listView = findViewById(R.id.listView);
//step 2
// hinh1.jpg getView()
arrayList = new ArrayList<>();
arrayList.Add(new Student(R.drawable.hinh1, “Tom”));
arrayList.Add(new Student(R.drawable.hinh2, “John”));
Them
arrayList.Add(new Student(R.drawable.hinh2, “John”));
//step 3
arrayAdapter = new StudentAdapter(MainActivity.this,R.layout.layout_item,arrayList);
//step 4
ListView
listView.setAdapter(arrayAdapter);
btnThem.setOnClickListener(new View.OnClicklListener(){
@Override
public void onClick(View v){
Student s =
new Student(R.drawable.hinh2, “John”);
arrayList.add(s);
arrayAdapter.notifydatasetchanged();
Them
}
});