Hallo Leute
ich bin anfänger bei Apps Entwicklung.. ich habe eine Frage . Ich habe eine Tabactiviyt gemacht. und in Tabmenu (Tabactivity) eine Dialogfenster erstellt. Aber komische weise bekomme ich immer diese Fehler und kann ich Dialogfenster nicht öffnen. Programm kommt immer showDialog(0); das verursacht eine Fehler :
06-18 14:02:10.935: E/AndroidRuntime(421): android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@44f64048 is not valid; is your activity running?
Was soll ich hier machen :
Meine Code lautet :
1package com.faqih.tutorialtab;
2
3import java.util.ArrayList;
4import java.util.LinkedList;
5
6import android.app.Activity;
7import android.app.ActivityGroup;
8import android.app.AlertDialog;
9import android.app.Dialog;
10import android.content.DialogInterface;
11import android.content.Intent;
12import android.os.Bundle;
13import android.os.Handler;
14import android.os.Message;
15import android.view.KeyEvent;
16import android.view.View;
17import android.view.View.OnClickListener;
18import android.widget.Button;
19import android.widget.Toast;
20
21
22public class secimliyemek_main extends Activity {
23
24 public static secimliyemek_main secimliyemek_main_;
25
26 public static sayilar sayilarr;
27 public static String baslik ;
28 public static bilgideposu arraylistesi;
29 public static String [] baharat ;
30 public static String [] option;
31 public static boolean[] _selections ;
32 public static LinkedList<String> malzemeler =new LinkedList<String>();
33
34 protected Button Button_sebzeler;
35 protected Button Button_baharatlar;
36 protected Button Button_baklagiller;
37
38 @Override
39 public void onCreate(Bundle savedInstanceState)
40 {
41 super.onCreate(savedInstanceState);
42
43 setContentView(R.layout.secimliyemek_main);
44
45 Button_sebzeler = ( Button ) findViewById( R.id.sebzeler );
46 Button_sebzeler.setOnClickListener( new ButtonClickHandler_sebzeler() );
47 Button_baharatlar = ( Button ) findViewById( R.id.baharat );
48 Button_baharatlar.setOnClickListener( new ButtonClickHandler_baharat() );
49 Button_baklagiller = ( Button ) findViewById( R.id.baklagil);
50 Button_baklagiller.setOnClickListener( new ButtonClickHandler_baklagiller() );
51
52 Button yemek_bul =(Button)findViewById(R.id.yemek_bul);
53
54 yemek_bul.setOnClickListener(new OnClickListener() {
55
56 public void onClick(View v) {
57
58 View view1 = contactgroupeinkaufliste.ContactGroupEinkaufliste_.getLocalActivityManager().startActivity("secimliyemek_liste",
59 new Intent("com.faqih.tutorialtab.SECIMLIYEMEK_LISTE")
60 .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();
61
62 // Replace the view of this ActivityGroup
63 contactgroupeinkaufliste.ContactGroupEinkaufliste_.replaceView(view1);
64
65 toplammalzeme();
66 }
67 });
68
69
70 }
71
72
73
74 public class ButtonClickHandler_sebzeler implements View.OnClickListener {
75 public void onClick( View view ) {
76
77 option =arraylistesi.sebzeler;
78 baslik = "Sebzeler";
79
80 boolean[] _selectionss = new boolean[ option.length ];
81 _selections=_selectionss;
82
83 Button_sebzeler = ( Button ) findViewById( R.id.sebzeler );
84 // Wenn button Click kommt hier fehler
85 showDialog(0);
86 }
87 }
88
89
90 public class ButtonClickHandler_baharat implements View.OnClickListener {
91 public void onClick( View view ) {
92
93 option =arraylistesi.baharatlar;
94 baslik = "Baharatlar";
95
96 boolean[] _selectionss = new boolean[ option.length ];
97 _selections=_selectionss;
98
99 Button_baharatlar = ( Button ) findViewById( R.id.baharat );
100 showDialog(2);
101
102 }
103 }
104
105
106 public class ButtonClickHandler_baklagiller implements View.OnClickListener {
107 public void onClick( View view ) {
108
109 option =arraylistesi.baklagiller;
110 baslik = "Baklagiller";
111
112 boolean[] _selectionss = new boolean[ option.length ];
113 _selections=_selectionss;
114
115 Button_baklagiller = ( Button ) findViewById( R.id.baklagil );
116 showDialog(3);
117 }
118 }
119
120
121
122 @Override
123 protected Dialog onCreateDialog( int id )
124 {
125 return
126 new AlertDialog.Builder( this )
127 .setTitle( baslik)
128 .setMultiChoiceItems( option, _selections, new DialogSelectionClickHandler() )
129 .setPositiveButton( "OK", new DialogButtonClickHandler() )
130 .create();
131 }
132
133
134
135 public class DialogSelectionClickHandler implements DialogInterface.OnMultiChoiceClickListener
136 {
137 public void onClick( DialogInterface dialog, int clicked, boolean selected )
138 {
139 printSelectedPlanets(selected,clicked);
140 Toast.makeText(secimliyemek_main.this, clicked +" "+selected, Toast.LENGTH_SHORT).show();
141 }
142 }
143
144
145 public class DialogButtonClickHandler implements DialogInterface.OnClickListener
146 {
147 public void onClick( DialogInterface dialog, int clicked )
148 {
149
150
151 switch( clicked )
152 {
153 case DialogInterface.BUTTON_POSITIVE:
154 closeContextMenu();
155 break;
156
157 case DialogInterface.BUTTON_NEGATIVE:
158 break;
159 }
160 }
161
162 }
163
164 protected void printSelectedPlanets(boolean clickedv, int clickedsv){
165
166 if(clickedv == true){
167 malzemeler.add(option[ clickedsv ]);
168 Toast.makeText(secimliyemek_main.this, "eklenen: "+option[ clickedsv ] , Toast.LENGTH_SHORT).show();
169 }
170 if(clickedv== false){
171 malzemeler.remove(option[ clickedsv]);
172 Toast.makeText(secimliyemek_main.this, "cikarilan: "+option[ clickedsv ] , Toast.LENGTH_SHORT).show();
173 }
174
175 }
176
177 protected void toplammalzeme(){
178 for(int kk=0; kk<malzemeler.size(); kk++){
179 Toast.makeText(secimliyemek_main.this, kk+" .Malzeme : "+malzemeler.get(kk) , Toast.LENGTH_SHORT).show();
180 }
181
182 }
183
184
185 public boolean onKeyDown(int keyCode, KeyEvent event){
186 if (keyCode == KeyEvent.KEYCODE_BACK){
187 contactgroupeinkaufliste.ContactGroupEinkaufliste_. back();
188 return true;
189 }
190 return super.onKeyDown(keyCode, event);
191 }
192
193}
Tab ActivityGroup code :
1package com.faqih.tutorialtab;
2
3import java.util.ArrayList;
4
5import android.app.ActivityGroup;
6import android.content.Intent;
7import android.os.Bundle;
8import android.view.KeyEvent;
9import android.view.View;
10
11public class contactgroupeinkaufliste extends ActivityGroup {
12 View rootView;
13
14 public static contactgroupeinkaufliste ContactGroupEinkaufliste_;
15 sayilar ddsayilar ;
16 private ArrayList<View> history1;
17
18 @Override
19public void onCreate(Bundle savedInstanceState) {
20 super.onCreate(savedInstanceState);
21 this.history1 = new ArrayList<View>();
22 ContactGroupEinkaufliste_ = this;
23
24
25
26 View view = getLocalActivityManager().startActivity("CitiesActivity", new
27 Intent(this,secimliyemek_main.class)
28 .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)).getDecorView();
29
30
31
32// Replace the view of this ActivityGroup
33replaceView(view);
34
35 }
36
37public void replaceView(View v) {
38
39 // Adds the old one to history
40 history1.add(v);
41
42 // Changes this Groups View to the new View.
43 setContentView(v);
44}
45
46
47
48public void back() {
49 if(history1.size() > 0) {
50 history1.remove(history1.size()-1);
51 if(history1.size()<=0){
52 finish();
53 }else{
54 setContentView(history1.get(history1.size()-1));
55 }
56 }else {
57 finish();
58 }
59}
60
61@Override
62public void onBackPressed() {
63 contactgroupeinkaufliste.ContactGroupEinkaufliste_.back();
64}
65
66@Override
67public boolean onKeyDown(int keyCode, KeyEvent event){
68 if (keyCode == KeyEvent.KEYCODE_BACK){
69 contactgroupeinkaufliste.ContactGroupEinkaufliste_.back();
70 return true;
71 }
72 return super.onKeyDown(keyCode, event);
73
74}
75
76
77}
Tab Main Code :
1package com.faqih.tutorialtab;
2
3import android.app.TabActivity;
4import android.content.Intent;
5import android.content.res.Resources;
6import android.os.Bundle;
7import android.widget.TabHost;
8
9public class main extends TabActivity {
10 /** Called when the activity is first created. */
11 @Override
12 public void onCreate(Bundle savedInstanceState) {
13 super.onCreate(savedInstanceState);
14 setContentView(R.layout.main);
15
16 Resources res = getResources();
17 TabHost tb = getTabHost();
18 TabHost.TabSpec spec;
19 Intent inten;
20
21 //tourism tab
22 inten = new Intent().setClass(this, tum_yemekler.class);
23 spec = tb.newTabSpec("tab1").setIndicator("Tüm Yemekler",res.getDrawable(R.drawable.hotel))
24 .setContent(inten);
25 tb.addTab(spec);
26
27 //hotel tab
28 inten = new Intent().setClass(this, contactgroupeinkaufliste.class);
29 spec = tb.newTabSpec("tab2").setIndicator("Yemek Bul",res.getDrawable(R.drawable.wisata))
30 .setContent(inten);
31 tb.addTab(spec);
32
33 //mall tab
34 inten = new Intent().setClass(this, gunun_menusu.class);
35 spec = tb.newTabSpec("tab3").setIndicator("Günün Menüsü",res.getDrawable(R.drawable.mall))
36 .setContent(inten);
37 tb.addTab(spec);
38
39 //restourant tab
40 inten = new Intent().setClass(this, yardim.class);
41 spec = tb.newTabSpec("tab4").setIndicator("Yardım",res.getDrawable(R.drawable.restoran))
42 .setContent(inten);
43 tb.addTab(spec);
44
45 tb.setCurrentTab(0);
46 }
47}
Wei kann ich den Dialog Fenster anzeigen lassen ?vielen dank für antwort
Eray
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.