mobile computing lecture#11 adapters and dialogs
TRANSCRIPT
Mobile Computing
Lecture#11 Adapters and Dialogs
Lecture Contents Adapter
SimpleCursorAdapter ArrayAdapter
Dialog Dialog Class Dialog-themed Activity Toasts
2
AdaptersAdapters are bridging classes that bind data to
Views (such as List Views) used in the user interface.
The adapter is responsible for 1. Creating the child Views used to represent each
item within the parent View (say a ListView)2. Providing access to the underlying data (say an
ArrayList)
3
Simple Cursor Adapter An easy adapter to map columns from a
cursor to TextViews or ImageViews You can specify which columns you want,
which views you want to display the columns, and the XML file that defines the appearance of these views.
4
Simple Cursor Adapte Example
5
Simple Cursor Adapte Example
6
ArrayAdapter The Array Adapter uses generics to bind an
Adapter View to an array of objects of the specified class
By default the Array Adapter uses the toString() value of each object in the array to create and populate Text Views
Alternative constructors enable you to use more complex layouts
You can even extend the class to use alternatives to Text Views (to display data)
7
ArrayAdapter ExampleSteps Involved::::1. Layout Definitions2. Adapter Class3. Activity to show elements
8
ArrayAdapter Example (Adapter Class)
9
10
ArrayAdapter Example (Main Class)
ArrayAdapter Example (row.xml)
11
ArrayAdapter Example (main.xml)
12
ArrayAdapter Example (Output)
13
ArrayAdapter Complex ExampleSteps Involved::::1. Layout Definitions2. View Data Class3. Adapter Class4. Activity to show elements
14
Layouts
15
Data
Cla
ss
16
Student Adapter
17
Main
18
Dialogs Dialog boxes are a common UI metaphor in
desktop, web, and mobile applications They’re used to help users answer
questions, make selections, and confirm actions, and to display warning or error messages
Dialog boxes in Android are partially transparent, floating Activities that appear upon activities that launch them
19
Implementing DialogsThere are three ways to implement a dialog in
Android: 1. Using Dialog class2. Dialog-themed Activity3. Toasts
20
Using Dialog Class or Its Extensions Android includes a number of specialist
classes that extend Dialog Each is designed to provide specific dialog-box
functionality Dialog-class-based screen is constructed
entirely within its calling Activity, so it doesn’t need to be registered in the manifest
Dialog’s life cycle is controlled entirely by the calling Activity
21
Dialog CreationDialog d = new Dialog(MyActivity.this);// Have the new window tint and blur the window it obscures.
Window window = d.getWindow();int flag =
WindowManager.LayoutParams.FLAG_BLUR_BEHIND;window.setFlags(flag, flag); d.setTitle("Dialog Title"); // Set title
d.setContentView(R.layout.dialog_view); // Inflate layout
// Find the TextView used in the layout and set its text value
TextView text = (TextView)d.findViewById(R.id.dialog);text.setText("This is the text in my dialog");d.show();
22
Dialog output
23
Dia
log w
ith B
utto
ns
final Context context = Main.this;String title = "It is Pitch Black";String message = "You are likely to be eaten by a ghost";String button1String = "Go Back";String button2String = "Move Forward"; AlertDialog.Builder ad = new AlertDialog.Builder(context); ad.setTitle(title); d.setMessage(message); ad.setPositiveButton(button1String, new DialogInterface.OnClickListener()
{ public void onClick(DialogInterface dialog, int arg1) { //Do something positive } }); ad.setNegativeButton(button2String, new
DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int arg1) {
//Do something negative }});ad.show();
24
Dia
log w
ith B
utto
ns
25
Toast Android allows us to display a message without
any button like 'OK' or 'Cancel' Its helps us to display a short message in short
time Call Toast.makeText() Provide necessary arguments
(Context, Message, Duration) Call show() message to display toast
26
Syntax/Example
27
Toast SyntaxToast.makeText(Context, Message,
Duration).show()
ToastExample:::::Toast.makeText(MyActivity.this, “You have been
assigned a project”, Toast.LENGTH_LONG).show();
Custom ToastToast toast = new Toast(MyActivity.this);TextView toastView = new TextView(MyActivity.this);toastView.setText("Here goes your message");toastView.setBackgroundColor(Color.WHITE);toastView.setTextColor(Color.RED);toastView.setPadding(10,10,10,10);toast.setView(toastView);toast.setDuration(Toast.LENGTH_LONG);toast.setGravity(Gravity.CENTER, 0, 0);toast.show();
28
Regular/Custom Toast
29