KashDroid 1.25 – Bank Transaction improvements

KashDroid 1.25 brings improvements to the Bank Transactions screen. You can now filter your transactions on date and on their associated customer or supplier.

Previously, a TableLayout was used, and the transactions were added as TableRows. However, with a lot of data, and only being able to add rows on the User Interface thread, this soon caused unresponsiveness. Now, the list of transactions is displayed in a ListView. ListViews recycle their views, and only inflate the views when needed. This decreases the memory footprint, as well as decreasing the time taken to populate the screen. As the user scrolls the appropriate transactions are added to the list.

With these improvements are also drawbacks. A TableLayout uses cells, and this helps to align views (such as the paid in or paid out values) to keep things looking organised. Unfortunately, in a ListView, each list item is not associated with the entire view, so no form of columns can be established. This makes aligning things a little more difficult.

However, one work around to this is to, instead of using two separate TextViews for the paid in and paid out, only use one text view, and align the text in it left or right depending on whether it is paid in or paid out. This creates the effect below.