Számos TODO elvégezve, javítások - Minden jó

- For ciklus az egy időben tartott órákhoz
- Ha nem sikerül a betöltés, null-t ad vissza
- Most már elmenti az óra csoportját is
- Az órarendlista most már rendesen frissül
- Most már nem ír teljes stack trace-t, ha hálózati hiba miatt nem tudott frissíteni
- Megszünteti az óra kijelölését órarendváltáskor/frissítéskor
- Egy TextView használata a kiválasztott órához
- Csoport megjelenítése
- A szerkesztés után megfelelően frissül a felület
- Órarend törlés működik
This commit is contained in:
Norbi Peti 2017-02-20 01:14:57 +01:00
parent 6c9f953789
commit d7bd486071
7 changed files with 218 additions and 167 deletions

View file

@ -72,25 +72,29 @@ namespace Orarend
int x = int.Parse(node.FirstChild.InnerText) - 1; int x = int.Parse(node.FirstChild.InnerText) - 1;
órarend.Órakezdetek[x] = TimeSpan.Parse(node.FirstChild.Attributes["title"].Value.Split('-')[0].Trim()); órarend.Órakezdetek[x] = TimeSpan.Parse(node.FirstChild.Attributes["title"].Value.Split('-')[0].Trim());
for (int i = 0; i < 5; i++) //Napok for (int i = 0; i < 5; i++) //Napok
{ //TODO: for ciklus az egy időben tartott órákhoz {
var óranode = node.ChildNodes[i + 1].FirstChild; var óranode = node.ChildNodes[i + 1].FirstChild;
var óra = (ahét ? órarend.ÓrákAHét : órarend.ÓrákBHét)[i][x]; var óra = (ahét ? órarend.ÓrákAHét : órarend.ÓrákBHét)[i][x];
if (óranode.ChildNodes.Count == 0) if (óranode.ChildNodes.Count == 0)
continue; continue;
var csoport = óranode.FirstChild.InnerText.TrimEnd(':'); for (int j = 0; j < óranode.ChildNodes.Count; j += 6)
{
var csoport = óranode.ChildNodes[j].InnerText.TrimEnd(':');
if (csoport != "Egész osztály" && !órarend.Csoportok.Contains(csoport)) if (csoport != "Egész osztály" && !órarend.Csoportok.Contains(csoport))
continue; continue;
if (óra == null) if (óra == null)
(ahét ? órarend.ÓrákAHét : órarend.ÓrákBHét)[i][x] = óra = new Óra(); (ahét ? órarend.ÓrákAHét : órarend.ÓrákBHét)[i][x] = óra = new Óra();
óra.Csoportok = new string[] { csoport }; //Az állandó órarendben osztályonként csak egy csoport van egy órán óra.Csoportok = new string[] { csoport }; //Az állandó órarendben osztályonként csak egy csoport van egy órán
óra.Azonosító = óranode.ChildNodes[2].InnerText; óra.Azonosító = óranode.ChildNodes[j + 2].InnerText;
óra.TeljesNév = óranode.ChildNodes[2].Attributes["title"].Value; óra.TeljesNév = óranode.ChildNodes[j + 2].Attributes["title"].Value;
óra.Terem = óranode.ChildNodes[3].InnerText.Trim(' ', '(', ')'); óra.Terem = óranode.ChildNodes[j + 3].InnerText.Trim(' ', '(', ')');
óra.Tanár = new Tanár óra.Tanár = new Tanár
{ {
Azonosító = óranode.ChildNodes[4].InnerText, Azonosító = óranode.ChildNodes[j + 4].InnerText,
Név = óranode.ChildNodes[4].Attributes["title"].Value Név = óranode.ChildNodes[j + 4].Attributes["title"].Value
}; };
break;
}
} }
break; break;
} }
@ -132,11 +136,18 @@ namespace Orarend
{ {
s.CopyTo(ms); s.CopyTo(ms);
if (ms.Length > 2) if (ms.Length > 2)
{
try
{ {
ms.Seek(0, SeekOrigin.Begin); ms.Seek(0, SeekOrigin.Begin);
var serializer = new DataContractJsonSerializer(typeof(T)); var serializer = new DataContractJsonSerializer(typeof(T));
return (T)serializer.ReadObject(ms); return (T)serializer.ReadObject(ms);
} }
catch
{
return default(T);
}
}
return default(T); return default(T);
} }
} }
@ -174,7 +185,7 @@ namespace Orarend
} }
} }
private static void ÓrarendMentés(Stream s) public static void ÓrarendMentés(Stream s)
{ {
mentés(s, Órarendek.ToArray()); mentés(s, Órarendek.ToArray());
} }

View file

@ -19,6 +19,7 @@ namespace Orarend
/// <summary> /// <summary>
/// Az órán résztvevő csoportok /// Az órán résztvevő csoportok
/// </summary> /// </summary>
[DataMember]
public string[] Csoportok { get; set; } public string[] Csoportok { get; set; }
public string Azonosító public string Azonosító

View file

@ -10,6 +10,7 @@ using Android.Runtime;
using Android.Views; using Android.Views;
using Android.Widget; using Android.Widget;
using Orarend; using Orarend;
using Android.Graphics;
namespace OrarendAndroidApp namespace OrarendAndroidApp
{ {
@ -39,6 +40,35 @@ namespace OrarendAndroidApp
FindViewById<EditText>(Resource.Id.csoportokEditText).Text = órarend.Csoportok.Aggregate((a, b) => a + " " + b); FindViewById<EditText>(Resource.Id.csoportokEditText).Text = órarend.Csoportok.Aggregate((a, b) => a + " " + b);
} }
FindViewById<Button>(Resource.Id.saveButton).Click += SaveButtonClick; FindViewById<Button>(Resource.Id.saveButton).Click += SaveButtonClick;
var deleteButton = FindViewById<Button>(Resource.Id.deleteButton);
if (add)
deleteButton.Visibility = ViewStates.Gone;
else
{
deleteButton.SetBackgroundColor(Color.DarkRed);
deleteButton.Click += DeleteButtonClick;
Intent.Extras.PutBoolean("deleted", false);
}
}
private void DeleteButtonClick(object sender, EventArgs e)
{
new AlertDialog.Builder(this).SetTitle("Törlés").SetMessage("Biztosan törlöd ezt az órarendet?")
.SetPositiveButton("Igen", (s, ea) =>
{ //Törlés
API.Órarendek.RemoveAt(index);
var intent = new Intent(Intent);
intent.PutExtra("deleted", true);
((AlertDialog)s).Dismiss();
((AlertDialog)s).Dispose();
API.ÓrarendMentés(OpenFileOutput("orarend", FileCreationMode.Private));
SetResult(Result.Ok, intent);
Finish();
}).SetNegativeButton("Nem", (s, ea) =>
{
((AlertDialog)s).Dismiss();
((AlertDialog)s).Dispose();
}).Show();
} }
private void SaveButtonClick(object sender, EventArgs e) private void SaveButtonClick(object sender, EventArgs e)
@ -54,7 +84,9 @@ namespace OrarendAndroidApp
órarend.Csoportok = csoportok.Split(' '); órarend.Csoportok = csoportok.Split(' ');
} }
else else
API.Órarendek.Add(new Órarend(név, osztály, csoportok)); //TODO: Órarend törlése API.Órarendek.Add(new Órarend(név, osztály, csoportok));
API.ÓrarendMentés(OpenFileOutput("orarend", FileCreationMode.Private));
SetResult(Result.Ok, Intent);
Finish(); Finish();
} }
} }

View file

@ -13,6 +13,7 @@ using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Threading; using System.Threading;
using System.IO; using System.IO;
using System.Net;
namespace OrarendAndroidApp namespace OrarendAndroidApp
{ {
@ -22,6 +23,8 @@ namespace OrarendAndroidApp
private Handler handler; private Handler handler;
private Órarend órarend; private Órarend órarend;
private const int EDIT_ADD_ACT_REQUEST = 1;
protected override void OnCreate(Bundle bundle) protected override void OnCreate(Bundle bundle)
{ {
base.OnCreate(bundle); base.OnCreate(bundle);
@ -51,9 +54,17 @@ namespace OrarendAndroidApp
handler.Post(() => handler.Post(() =>
{ {
var list = FindViewById<Spinner>(Resource.Id.spinner); var list = FindViewById<Spinner>(Resource.Id.spinner);
var adapter = (ArrayAdapter)list.Adapter ?? new ArrayAdapter(this, Resource.Layout.simple_list_item_1, API.Órarendek); ArrayAdapter adapter;
if (list.Adapter != null)
{
adapter = (ArrayAdapter)list.Adapter;
adapter.Clear();
adapter.AddAll(API.Órarendek);
}
else
adapter = new ArrayAdapter(this, Resource.Layout.simple_list_item_1, API.Órarendek);
list.Adapter = adapter; list.Adapter = adapter;
adapter.NotifyDataSetChanged(); //TODO: Teszt adapter.NotifyDataSetChanged();
list.ItemSelected += ÓrarendClick; list.ItemSelected += ÓrarendClick;
//list.SetSelection(list.SelectedItemPosition); //Szöveg frissítése - TODO: Teszt //list.SetSelection(list.SelectedItemPosition); //Szöveg frissítése - TODO: Teszt
}); });
@ -94,6 +105,8 @@ namespace OrarendAndroidApp
private void ÓrarendFrissítés(Órarend ór = null) private void ÓrarendFrissítés(Órarend ór = null)
{ //TODO: Meghívni minden tervezett alkalommal; hozzáadásnál csak a hozzáadott órarendet frissítse { //TODO: Meghívni minden tervezett alkalommal; hozzáadásnál csak a hozzáadott órarendet frissítse
try
{
var bar = FindViewById<ProgressBar>(Resource.Id.progressBar1); var bar = FindViewById<ProgressBar>(Resource.Id.progressBar1);
handler.Post(() => bar.Visibility = ViewStates.Visible); handler.Post(() => bar.Visibility = ViewStates.Visible);
API.Frissítés(OpenFileOutput("orarend", FileCreationMode.Private), OpenFileOutput("osztaly", FileCreationMode.Private), ór).ContinueWith(t => API.Frissítés(OpenFileOutput("orarend", FileCreationMode.Private), OpenFileOutput("osztaly", FileCreationMode.Private), ór).ContinueWith(t =>
@ -104,16 +117,26 @@ namespace OrarendAndroidApp
órarendfrissítés(); órarendfrissítés();
bar.Visibility = ViewStates.Gone; bar.Visibility = ViewStates.Gone;
órarendlistafrissítés(); órarendlistafrissítés();
Toast.MakeText(this, "Órarend és osztálylista frissítve", ToastLength.Long).Show(); Toast.MakeText(this, "Órarend" + (ór == null ? "ek" : "") + " és osztálylista frissítve", ToastLength.Short).Show();
}); });
}); });
} }
catch(WebException)
{
Hiba("Nem sikerült az órarend" + (ór == null ? "ek" : "") + "et frissíteni");
}
catch(System.Exception e)
{
Hiba(e.ToString());
}
}
private void órarendfrissítés() private void órarendfrissítés()
{ {
var table = FindViewById<TableLayout>(Resource.Id.tableLayout1); var table = FindViewById<TableLayout>(Resource.Id.tableLayout1);
if (table.ChildCount > 1) if (table.ChildCount > 1)
table.RemoveViews(1, table.ChildCount - 1); table.RemoveViews(1, table.ChildCount - 1);
FindViewById<TextView>(Resource.Id.kivoraTV).Visibility = ViewStates.Gone;
TableRow tr = new TableRow(this); TableRow tr = new TableRow(this);
addCell("", Color.Black, tr); addCell("", Color.Black, tr);
addCell("Hétfő", Color.Black, tr); addCell("Hétfő", Color.Black, tr);
@ -160,16 +183,14 @@ namespace OrarendAndroidApp
selected.SetBackgroundResource(Resource.Drawable.cell_shape_light); selected.SetBackgroundResource(Resource.Drawable.cell_shape_light);
tv.SetBackgroundResource(Resource.Drawable.cell_shape_selected_light); tv.SetBackgroundResource(Resource.Drawable.cell_shape_selected_light);
selected = tv; selected = tv;
FindViewById<TextView>(Resource.Id.pozTV).Text = ((TextView)((TableRow)FindViewById<TableLayout>(Resource.Id.tableLayout1).GetChildAt(1)).GetChildAt(ij[0] + 1)).Text + " " + (ij[1] + 1) + ". óra"; var kivora = FindViewById<TextView>(Resource.Id.kivoraTV);
FindViewById<TextView>(Resource.Id.pozTV).Visibility = ViewStates.Visible; kivora.Text = ((TextView)((TableRow)FindViewById<TableLayout>(Resource.Id.tableLayout1).GetChildAt(1)).GetChildAt(ij[0] + 1)).Text + " " + (ij[1] + 1) + ". óra\n"
FindViewById<TextView>(Resource.Id.nevTV).Text = óra.TeljesNév; + óra.TeljesNév + "\n"
FindViewById<TextView>(Resource.Id.nevTV).Visibility = ViewStates.Visible; + óra.Terem + "\n"
FindViewById<TextView>(Resource.Id.teremTV).Text = óra.Terem; + óra.Tanár.Név + "\n"
FindViewById<TextView>(Resource.Id.teremTV).Visibility = ViewStates.Visible; + órarend.Órakezdetek[ij[1]].ToString("hh\\:mm") + "-" + órarend.Órakezdetek[ij[1]].Add(new TimeSpan(0, 45, 0)).ToString("hh\\:mm") + "\n"
FindViewById<TextView>(Resource.Id.tanarTV).Text = óra.Tanár.Név; + óra.Csoportok.Aggregate((a, b) => a + ", " + b);
FindViewById<TextView>(Resource.Id.tanarTV).Visibility = ViewStates.Visible; kivora.Visibility = ViewStates.Visible;
FindViewById<TextView>(Resource.Id.idoTV).Text = órarend.Órakezdetek[ij[1]].ToString("hh\\:mm") + "-" + órarend.Órakezdetek[ij[1]].Add(new TimeSpan(0, 45, 0)).ToString("hh\\:mm");
FindViewById<TextView>(Resource.Id.idoTV).Visibility = ViewStates.Visible;
} }
public override bool OnCreateOptionsMenu(IMenu menu) public override bool OnCreateOptionsMenu(IMenu menu)
@ -195,7 +216,7 @@ namespace OrarendAndroidApp
{ {
var intent = new Intent(this, typeof(EditActivity)); var intent = new Intent(this, typeof(EditActivity));
intent.PutExtra("add", true); intent.PutExtra("add", true);
StartActivity(intent); StartActivityForResult(intent, EDIT_ADD_ACT_REQUEST);
break; break;
} }
case Resource.Id.menu_edit: case Resource.Id.menu_edit:
@ -203,7 +224,7 @@ namespace OrarendAndroidApp
var intent = new Intent(this, typeof(EditActivity)); var intent = new Intent(this, typeof(EditActivity));
intent.PutExtra("add", false); intent.PutExtra("add", false);
intent.PutExtra("index", API.Órarendek.IndexOf(órarend)); intent.PutExtra("index", API.Órarendek.IndexOf(órarend));
StartActivity(intent); StartActivityForResult(intent, EDIT_ADD_ACT_REQUEST);
break; break;
} }
case Resource.Id.menu_preferences: //TODO case Resource.Id.menu_preferences: //TODO
@ -251,6 +272,12 @@ namespace OrarendAndroidApp
var most = DateTime.Now - DateTime.Today; var most = DateTime.Now - DateTime.Today;
bool talált = false; bool talált = false;
var kovora = FindViewById<TextView>(Resource.Id.kovoraTV); var kovora = FindViewById<TextView>(Resource.Id.kovoraTV);
if (órarend.Órakezdetek[0] == TimeSpan.Zero)
{ //Még nincsenek beállítva a kezdetek
kezdveg.Text = "Betöltés";
kovora.Visibility = ViewStates.Invisible;
return;
}
for (int i = 0; i < órarend.Órakezdetek.Length - 1; i++) for (int i = 0; i < órarend.Órakezdetek.Length - 1; i++)
{ {
var vége = órarend.Órakezdetek[i].Add(new TimeSpan(0, 45, 0)); var vége = órarend.Órakezdetek[i].Add(new TimeSpan(0, 45, 0));
@ -262,16 +289,8 @@ namespace OrarendAndroidApp
talált = true; talált = true;
} }
else else
{
if (órarend.Órakezdetek[i] == TimeSpan.Zero)
{ //Még nincsenek beállítva a kezdetek
kezdveg.Text = "Betöltés";
talált = true;
break;
}
continue; continue;
} }
}
else else
{ {
kezdveg.Text = "Becsengetés: " + (órarend.Órakezdetek[i] - most).ToString("hh\\:mm\\:ss"); kezdveg.Text = "Becsengetés: " + (órarend.Órakezdetek[i] - most).ToString("hh\\:mm\\:ss");
@ -281,10 +300,10 @@ namespace OrarendAndroidApp
int x = (int)DateTime.Today.DayOfWeek - 1; int x = (int)DateTime.Today.DayOfWeek - 1;
if (x == -1) //Vasárnap if (x == -1) //Vasárnap
break; break;
var óra = órarend.ÓrákAHét[x][i]; Óra óra;
if (x < 6 && óra != null) if (x < 6 && (óra = órarend.ÓrákAHét[x][i]) != null)
{ {
kovora.Text = "Következő óra: " + óra.EgyediNév + "\n" + óra.Terem + "\n" + óra.Tanár.Név; kovora.Text = "Következő óra: " + óra.EgyediNév + "\n" + óra.Terem + "\n" + óra.Tanár.Név + "\n" + óra.Csoportok.Aggregate((a, b) => a + ", " + b);
kovora.Visibility = ViewStates.Visible; kovora.Visibility = ViewStates.Visible;
} }
else else
@ -296,15 +315,18 @@ namespace OrarendAndroidApp
kezdveg.Text = "Nincs több óra ma"; kezdveg.Text = "Nincs több óra ma";
kovora.Visibility = ViewStates.Invisible; kovora.Visibility = ViewStates.Invisible;
} }
}); //TODO: Az egészet függőlegesen görgethetővé tenni });
} }
public override void FinishFromChild(Activity child) protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
{ {
base.FinishFromChild(child); base.OnActivityResult(requestCode, resultCode, data);
if (child is EditActivity) if (resultCode == Result.Canceled)
return;
if (requestCode == EDIT_ADD_ACT_REQUEST)
{ {
ÓrarendFrissítés(child.Intent.Extras.GetBoolean("add") ? API.Órarendek.Last() : API.Órarendek[child.Intent.Extras.GetInt("index")]); if (!data.Extras.GetBoolean("deleted"))
ÓrarendFrissítés(data.Extras.GetBoolean("add") ? API.Órarendek.Last() : API.Órarendek[data.Extras.GetInt("index")]);
órarendlistafrissítés(); órarendlistafrissítés();
} }
} }

View file

@ -84,74 +84,71 @@ namespace OrarendAndroidApp
public partial class Id public partial class Id
{ {
// aapt resource value: 0x7f060008 // aapt resource value: 0x7f060009
public const int ScrollView01 = 2131099656; public const int ScrollView01 = 2131099657;
// aapt resource value: 0x7f06000c // aapt resource value: 0x7f06000d
public const int actionMenuView1 = 2131099660; public const int ScrollView02 = 2131099661;
// aapt resource value: 0x7f060013
public const int actionMenuView1 = 2131099667;
// aapt resource value: 0x7f060005 // aapt resource value: 0x7f060005
public const int csoportokEditText = 2131099653; public const int csoportokEditText = 2131099653;
// aapt resource value: 0x7f060009 // aapt resource value: 0x7f060008
public const int horizontalView = 2131099657; public const int deleteButton = 2131099656;
// aapt resource value: 0x7f06000a
public const int horizontalView = 2131099658;
// aapt resource value: 0x7f060010
public const int kezdvegTV = 2131099664;
// aapt resource value: 0x7f06000f
public const int kivoraTV = 2131099663;
// aapt resource value: 0x7f060011 // aapt resource value: 0x7f060011
public const int idoTV = 2131099665; public const int kovoraTV = 2131099665;
// aapt resource value: 0x7f060012
public const int kezdvegTV = 2131099666;
// aapt resource value: 0x7f060013
public const int kovoraTV = 2131099667;
// aapt resource value: 0x7f060017
public const int menu_add = 2131099671;
// aapt resource value: 0x7f060018
public const int menu_edit = 2131099672;
// aapt resource value: 0x7f06001a
public const int menu_fullrefresh = 2131099674;
// aapt resource value: 0x7f060019
public const int menu_preferences = 2131099673;
// aapt resource value: 0x7f060016 // aapt resource value: 0x7f060016
public const int menu_refresh = 2131099670; public const int menu_add = 2131099670;
// aapt resource value: 0x7f06000e // aapt resource value: 0x7f060017
public const int nevTV = 2131099662; public const int menu_edit = 2131099671;
// aapt resource value: 0x7f060019
public const int menu_fullrefresh = 2131099673;
// aapt resource value: 0x7f060018
public const int menu_preferences = 2131099672;
// aapt resource value: 0x7f060015
public const int menu_refresh = 2131099669;
// aapt resource value: 0x7f060001 // aapt resource value: 0x7f060001
public const int névEditText = 2131099649; public const int névEditText = 2131099649;
// aapt resource value: 0x7f060014 // aapt resource value: 0x7f060012
public const int osztalylistaTV = 2131099668; public const int osztalylistaTV = 2131099666;
// aapt resource value: 0x7f060003 // aapt resource value: 0x7f060003
public const int osztálySpinner = 2131099651; public const int osztálySpinner = 2131099651;
// aapt resource value: 0x7f06000d // aapt resource value: 0x7f06000c
public const int pozTV = 2131099661; public const int progressBar1 = 2131099660;
// aapt resource value: 0x7f06000b
public const int progressBar1 = 2131099659;
// aapt resource value: 0x7f060007 // aapt resource value: 0x7f060007
public const int saveButton = 2131099655; public const int saveButton = 2131099655;
// aapt resource value: 0x7f060015 // aapt resource value: 0x7f06000e
public const int spinner = 2131099669; public const int scrollLinearLayout = 2131099662;
// aapt resource value: 0x7f06000a // aapt resource value: 0x7f060014
public const int tableLayout1 = 2131099658; public const int spinner = 2131099668;
// aapt resource value: 0x7f060010 // aapt resource value: 0x7f06000b
public const int tanarTV = 2131099664; public const int tableLayout1 = 2131099659;
// aapt resource value: 0x7f06000f
public const int teremTV = 2131099663;
// aapt resource value: 0x7f060000 // aapt resource value: 0x7f060000
public const int textView1 = 2131099648; public const int textView1 = 2131099648;

View file

@ -56,4 +56,7 @@
<Button <Button
android:text="Mentés" android:text="Mentés"
android:id="@+id/saveButton" /> android:id="@+id/saveButton" />
<Button
android:text="Törlés"
android:id="@+id/deleteButton" />
</TableLayout> </TableLayout>

View file

@ -8,7 +8,7 @@
<ScrollView <ScrollView
android:id="@+id/ScrollView01" android:id="@+id/ScrollView01"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:scrollbars="horizontal|vertical" android:scrollbars="horizontal"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_marginTop="5dip" android:layout_marginTop="5dip"
android:scrollbarStyle="outsideInset" android:scrollbarStyle="outsideInset"
@ -37,52 +37,29 @@
</TableLayout> </TableLayout>
</HorizontalScrollView> </HorizontalScrollView>
</ScrollView> </ScrollView>
<ActionMenuView <ScrollView
android:id="@+id/ScrollView02"
android:layout_height="wrap_content"
android:scrollbars="vertical"
android:layout_width="match_parent"
android:layout_marginTop="5dip"
android:scrollbarStyle="outsideInset"
android:fillViewport="true">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:minWidth="25px" android:minWidth="25px"
android:minHeight="25px" android:minHeight="25px"
android:layout_width="wrap_content" android:id="@+id/scrollLinearLayout">
android:layout_height="wrap_content"
android:id="@+id/actionMenuView1" />
<TextView <TextView
android:id="@+id/pozTV" android:id="@+id/kivoraTV"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="Hétfő 2. óra" android:text="Kiválasztott óra"
android:textSize="14sp" android:textSize="14sp"
android:textStyle="bold" android:textStyle="bold"
android:visibility="gone" /> android:visibility="gone" />
<TextView
android:id="@+id/nevTV"
android:text="Név"
android:textSize="14sp"
android:textStyle="bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone" />
<TextView
android:id="@+id/teremTV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="222"
android:textSize="14sp"
android:textStyle="bold"
android:visibility="gone" />
<TextView
android:id="@+id/tanarTV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tanár"
android:textSize="14sp"
android:textStyle="bold"
android:visibility="gone" />
<TextView
android:id="@+id/idoTV"
android:text="8:15-9:00"
android:textSize="14sp"
android:textStyle="bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone" />
<TextView <TextView
android:id="@+id/kezdvegTV" android:id="@+id/kezdvegTV"
android:text="Betöltés" android:text="Betöltés"
@ -107,3 +84,11 @@
android:layout_height="fill_parent" android:layout_height="fill_parent"
android:visibility="gone" /> android:visibility="gone" />
</LinearLayout> </LinearLayout>
</ScrollView>
<ActionMenuView
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/actionMenuView1" />
</LinearLayout>