1. Exemplu de folosire a componentei ImageView.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/mare" />
<Button
android:id="@+id/btnChangeImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Schimba imaginea!" />
</LinearLayout>
MainActivity.java
package com.example.damlaborator81;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.ImageView;
import android.view.View;
import android.view.View.OnClickListener;
public class MainActivity extends AppCompatActivity {
Button button;
ImageView image;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addListenerOnButton();
}
public void addListenerOnButton() {
image = (ImageView) findViewById(R.id.imageView1);
button = (Button) findViewById(R.id.btnChangeImage);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
image.setImageResource(R.drawable.mic);
button.setText("Imagine mai mica!");
}
});
}
}
2. Exemplu de folosire a componentei ListView normal.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView
android:id="@+id/lista_patrulatere"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</ListView>
</LinearLayout>
MainActivity.java
package com.example.damlaborator82;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends AppCompatActivity {
private ListView mListView;
private ArrayAdapter aAdapter;
private String[] patrulatere = { "dreptunghi", "patrat",
"romb", "patrulater ortogonal", "trapez", "trapez isoscel", "trapez
dreptunghic"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mListView = (ListView)
findViewById(R.id.lista_patrulatere);
aAdapter = new ArrayAdapter(this,
android.R.layout.simple_list_item_1,
patrulatere);
mListView.setAdapter(aAdapter);
}
}
3. Crearea listelor cu ListView si Custom Adapter.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<ListView
android:id="@+id/user_list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:dividerHeight="1dp" />
</LinearLayout>
list_row.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="5dip" >
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="17dp" />
<TextView
android:id="@+id/designation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/name"
android:layout_marginTop="7dp"
android:textColor="#343434"
android:textSize="14dp" />
<TextView
android:id="@+id/location"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/designation"
android:layout_alignBottom="@+id/designation"
android:layout_alignParentRight="true"
android:textColor="#343434"
android:textSize="14dp" />
</RelativeLayout>
ListItem.java
package com.example.damlaborator83;
public class ListItem {
private String name;
private String designation;
private String location;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDesignation() {
return designation;
}
public void setDesignation(String designation) {
this.designation = designation;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
}
CustomListAdapter.java
package com.example.damlaborator83;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import java.util.ArrayList;
public class CustomListAdapter extends BaseAdapter {
private ArrayList<com.example.damlaborator83.ListItem>
listData;
private LayoutInflater layoutInflater;
public CustomListAdapter(Context aContext,
ArrayList<com.example.damlaborator83.ListItem> listData) {
this.listData = listData;
layoutInflater = LayoutInflater.from(aContext);
}
@Override
public int getCount() {
return listData.size();
}
@Override
public Object getItem(int position) {
return listData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
public View getView(int position, View v, ViewGroup vg) {
ViewHolder holder;
if (v == null) {
v = layoutInflater.inflate(R.layout.list_row, null);
holder = new ViewHolder();
holder.uName = (TextView) v.findViewById(R.id.name);
holder.uDesignation = (TextView)
v.findViewById(R.id.designation);
holder.uLocation = (TextView)
v.findViewById(R.id.location);
v.setTag(holder);
} else {
holder = (ViewHolder) v.getTag();
}
holder.uName.setText(listData.get(position).getName());
holder.uDesignation.setText(listData.get(position).getDesignation()
);
holder.uLocation.setText(listData.get(position).getLocation());
return v;
}
static class ViewHolder {
TextView uName;
TextView uDesignation;
TextView uLocation;
}
}
MainActivity.java
package com.example.damlaborator83;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayList userList = getListData();
final ListView lv = (ListView)
findViewById(R.id.user_list);
lv.setAdapter(new
com.example.damlaborator83.CustomListAdapter(this,
userList));
lv.setOnItemClickListener(new
AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> a, View v, int
position,
long id) {
com.example.damlaborator83.ListItem user =
(com.example.damlaborator83.ListItem)
lv.getItemAtPosition(position);
Toast.makeText(MainActivity.this, "Selected :" + "
" +
user.getName()+", "+ user.getLocation(),
Toast.LENGTH_SHORT).show();
}
});
}
private ArrayList getListData() {
ArrayList<com.example.damlaborator83.ListItem> results =
new
ArrayList<>();
com.example.damlaborator83.ListItem user1 = new
com.example.damlaborator83.ListItem();
user1.setName("Ionescu George");
user1.setDesignation("Director");
user1.setLocation("Pitesti");
results.add(user1);
com.example.damlaborator83.ListItem user2 = new
com.example.damlaborator83.ListItem();
user2.setName("Vali Ionut");
user2.setDesignation("Inginer");
user2.setLocation("Bucuresti");
results.add(user2);
com.example.damlaborator83.ListItem user3 = new
com.example.damlaborator83.ListItem();
user3.setName("Alexandrescu Mircea ");
user3.setDesignation("Consilier");
user3.setLocation("Cluj-Napoca”);
return results;
}
}
4. Creati o lista cu numele a 5 figuri geometrice (patrat, cerc, triunghi echilateral, ...). Cand se
activeaza un item se va afisa aria figurii geometrice.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<ListView
android:id="@+id/user_list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:dividerHeight="1dp" />
</LinearLayout>
list_row.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="5dip" >
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="17dp" />
<TextView
android:id="@+id/designation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/name"
android:layout_marginTop="7dp"
android:textColor="#343434"
android:textSize="14dp" />
<TextView
android:id="@+id/location"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/designation"
android:layout_alignBottom="@+id/designation"
android:layout_alignParentRight="true"
android:textColor="#343434"
android:textSize="14dp" />
</RelativeLayout>
ListItem.java
package com.example.myapplication;
public class ListItem {
private String name;
private String designation;
private String location;
private String aria;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDesignation() {
return designation;
}
public void setDesignation(String designation) {
this.designation = designation;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
public String getAria() {
return aria;
}
public void setAria(String aria) {
this.aria = aria;
}
}
CustomListAdapter.java
package com.example.myapplication;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.example.myapplication.R;
import java.util.ArrayList;
public class CustomListAdapter extends BaseAdapter {
private ArrayList<com.example.myapplication.ListItem> listData;
private LayoutInflater layoutInflater;
public CustomListAdapter(Context aContext,
ArrayList<com.example.myapplication.ListItem> listData) {
this.listData = listData;
layoutInflater = LayoutInflater.from(aContext);
}
@Override
public int getCount() {
return listData.size();
}
@Override
public Object getItem(int position) {
return listData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
public View getView(int position, View v, ViewGroup vg) {
ViewHolder holder;
if (v == null) {
v = layoutInflater.inflate(R.layout.list_row, null);
holder = new ViewHolder();
holder.uName = (TextView) v.findViewById(R.id.name);
holder.uDesignation = (TextView)
v.findViewById(R.id.designation);
holder.uLocation = (TextView)
v.findViewById(R.id.location);
v.setTag(holder);
} else {
holder = (ViewHolder) v.getTag();
}
holder.uName.setText(listData.get(position).getName());
holder.uDesignation.setText(listData.get(position).getDesignation()
);
holder.uLocation.setText(listData.get(position).getLocation());
return v;
}
static class ViewHolder {
TextView uName;
TextView uDesignation;
TextView uLocation;
}
}
MainActivity.java
package com.example.myapplication;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.example.myapplication.R;
import java.util.ArrayList;
public class CustomListAdapter extends BaseAdapter {
private ArrayList<com.example.myapplication.ListItem> listData;
private LayoutInflater layoutInflater;
public CustomListAdapter(Context aContext,
ArrayList<com.example.myapplication.ListItem> listData) {
this.listData = listData;
layoutInflater = LayoutInflater.from(aContext);
}
@Override
public int getCount() {
return listData.size();
}
@Override
public Object getItem(int position) {
return listData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
public View getView(int position, View v, ViewGroup vg) {
ViewHolder holder;
if (v == null) {
v = layoutInflater.inflate(R.layout.list_row, null);
holder = new ViewHolder();
holder.uName = (TextView) v.findViewById(R.id.name);
holder.uDesignation = (TextView)
v.findViewById(R.id.designation);
holder.uLocation = (TextView)
v.findViewById(R.id.location);
v.setTag(holder);
} else {
holder = (ViewHolder) v.getTag();
}
holder.uName.setText(listData.get(position).getName());
holder.uDesignation.setText(listData.get(position).getDesignation()
);
holder.uLocation.setText(listData.get(position).getLocation());
return v;
}
static class ViewHolder {
TextView uName;
TextView uDesignation;
TextView uLocation;
}
}
5. Creati o lista cu cel putin 5 modele de masini si afisati informatii despre ele (inclusiv o imagine).
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<ListView
android:id="@+id/user_list"
android:layout_width="fill_parent"
android:layout_height="450dp"
android:dividerHeight="1dp" />
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="invisible"
app:srcCompat="@drawable/masina1" />
</LinearLayout>
list_row.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="5dip" >
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="17dp" />
<TextView
android:id="@+id/model"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/name"
android:layout_marginTop="9dp"
android:textColor="#343434"
android:textSize="17dp" />
<TextView
android:id="@+id/year"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/model"
android:layout_alignBottom="@+id/model"
android:layout_alignParentRight="true"
android:layout_marginRight="16dp"
android:layout_marginBottom="26dp"
android:textColor="#343434"
android:textSize="17dp" />
</RelativeLayout>
ListItem.java
package com.example.damlaborator8ex2;
public class ListItem {
private String name;
private String model;
private String year;
private int photo;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public String getYear() {
return year;
}
public void setYear(String year) {
this.year = year;
}
public int getPhoto() {
return photo;
}
public void setPhoto(int photo) {
this.photo = photo;
}
}
CustomListAdapter.java
package com.example.damlaborator8ex2;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import java.util.ArrayList;
public class CustomListAdapter extends BaseAdapter {
private ArrayList<com.example.damlaborator8ex2.ListItem>
listData;
private LayoutInflater layoutInflater;
public CustomListAdapter(Context aContext,
ArrayList<com.example.damlaborator8ex2.ListItem> listData) {
this.listData = listData;
layoutInflater = LayoutInflater.from(aContext);
}
@Override
public int getCount() {
return listData.size();
}
@Override
public Object getItem(int position) {
return listData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
public View getView(int position, View v, ViewGroup vg) {
ViewHolder holder;
if (v == null) {
v = layoutInflater.inflate(R.layout.list_row, null);
holder = new ViewHolder();
holder.uName = (TextView) v.findViewById(R.id.name);
holder.uDesignation = (TextView)
v.findViewById(R.id.model);
holder.uLocation = (TextView)
v.findViewById(R.id.year);
v.setTag(holder);
} else {
holder = (ViewHolder) v.getTag();
}
holder.uName.setText(listData.get(position).getName());
holder.uDesignation.setText(listData.get(position).getModel());
holder.uLocation.setText(listData.get(position).getYear());
return v;
}
static class ViewHolder {
TextView uName;
TextView uDesignation;
TextView uLocation;
}
}
MainActivity.java
package com.example.damlaborator83;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayList userList = getListData();
final ListView lv = (ListView)
findViewById(R.id.user_list);
lv.setAdapter(new
com.example.damlaborator83.CustomListAdapter(this,
userList));
lv.setOnItemClickListener(new
AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> a, View v, int
position,
long id) {
com.example.damlaborator83.ListItem user =
(com.example.damlaborator83.ListItem)
lv.getItemAtPosition(position);
Toast.makeText(MainActivity.this, "Selected :" + "
" +
user.getName()+", "+ user.getLocation(),
Toast.LENGTH_SHORT).show();
}
});
}
private ArrayList getListData() {
ArrayList<com.example.damlaborator83.ListItem> results =
new
ArrayList<>();
com.example.damlaborator83.ListItem user1 = new
com.example.damlaborator83.ListItem();
user1.setName("Ionescu George");
user1.setDesignation("Director");
user1.setLocation("Pitesti");
results.add(user1);
com.example.damlaborator83.ListItem user2 = new
com.example.damlaborator83.ListItem();
user2.setName("Vali Ionut");
user2.setDesignation("Inginer");
user2.setLocation("Bucuresti");
results.add(user2);
com.example.damlaborator83.ListItem user3 = new
com.example.damlaborator83.ListItem();
user3.setName("Alexandrescu Mircea");
user3.setDesignation("Consilier");
user3.setLocation("Constanta");
results.add(user3);
return results;
}
}