Reports Activity

Design a new layout - called Report - to look something like this:

Step 03 - 图1

This is the layout file itself:

1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2. xmlns:tools="http://schemas.android.com/tools"
3. android:layout_width="match_parent"
4. android:layout_height="match_parent"
5. android:paddingBottom="@dimen/activity_vertical_margin"
6. android:paddingLeft="@dimen/activity_horizontal_margin"
7. android:paddingRight="@dimen/activity_horizontal_margin"
8. android:paddingTop="@dimen/activity_vertical_margin"
9. tools:context=".Test" >

11. <TextView
12. android:id="@+id/reportTitle"
13. android:layout_width="wrap_content"
14. android:layout_height="wrap_content"
15. android:layout_alignParentLeft="true"
16. android:layout_alignParentRight="true"
17. android:layout_alignParentTop="true"
18. android:text="@string/reportTitle"
19. android:textAppearance="?android:attr/textAppearanceLarge" />

21. <ListView
22. android:id="@+id/reportList"
23. android:layout_width="match_parent"
24. android:layout_height="wrap_content"
25. android:layout_alignLeft="@+id/reportTitle"
26. android:layout_below="@+id/reportTitle" >

28. </ListView>

30. </RelativeLayout>

Introduce a new Class into app.activities to render this activity:

1. package app.activities;

3. import app.donation.R;
4. import app.main.DonationApp;
5. import android.app.Activity;
6. import android.os.Bundle;
7. import android.widget.ArrayAdapter;
8. import android.widget.ListView;

10. public class Report extends Activity
11. {
12. ListView listView;

14. static final String[] numbers = new String[] {
15. "Amount, Pay method",
16. "10,     Direct",
17. "100,    PayPal",
18. "1000,   Direct",
19. "10,     PayPal",
20. "5000,   PayPal"};

22. @Override
23. public void onCreate(Bundle savedInstanceState)
24. {
25. super.onCreate(savedInstanceState);
26. setContentView(R.layout.activity_report);

28. listView = (ListView) findViewById(R.id.reportList);
29. ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,  android.R.layout.simple_list_item_1, numbers);
30. listView.setAdapter(adapter);
31. }
32. }

This will display a hard-coded lists of donations.

Change Donation activity to load this view when ‘Report’ selected from menu:

1. @Override
2. public boolean onOptionsItemSelected(MenuItem item)
3. {
4. switch (item.getItemId())
5. {
6. case R.id.menuReport : startActivity (new Intent(this, Report.class));
7. break;
8. }
9. return true;
10. }

All of this will not work until you add the activity specification to the AndroidManifest.xml file:

1. <activity
2. android:name="app.activities.Report"
3. android:label="@string/donateTitle" >
4. </activity>

Try it all now - it should load.