29
Mobile Computing Lecture#11 Adapters and Dialogs

Mobile Computing

Embed Size (px)

DESCRIPTION

Mobile Computing. Lecture#11 Adapters and Dialogs. Lecture Contents. Adapter SimpleCursorAdapter ArrayAdapter Dialog Dialog Class Dialog-themed Activity Toasts. Adapters. Adapters are bridging classes that bind data to Views (such as List Views) used in the user interface. - PowerPoint PPT Presentation

Citation preview

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