-1
주 활동에 세 개의 탭 ADMINISTRADOR가 있습니다.AlertDialog가 ActivityGroup 내에서 작동하지 않습니다.
05-25 20:06:58.025: E/AndroidRuntime(26021): FATAL EXCEPTION: main
05-25 20:06:58.025: E/AndroidRuntime(26021): android.view.WindowManager$BadTokenException: Unable to add window -- token [email protected] is not valid; is your activity running?
05-25 20:06:58.025: E/AndroidRuntime(26021): at android.view.ViewRoot.setView(ViewRoot.java:505)
05-25 20:06:58.025: E/AndroidRuntime(26021): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
05-25 20:06:58.025: E/AndroidRuntime(26021): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
05-25 20:06:58.025: E/AndroidRuntime(26021): at android.view.Window$LocalWindowManager.addView(Window.java:424)
05-25 20:06:58.025: E/AndroidRuntime(26021): at android.app.Dialog.show(Dialog.java:241)
05-25 20:06:58.025: E/AndroidRuntime(26021): at utp.android.aplicacion.ListarAlumnos$1.run(ListarAlumnos.java:170)
05-25 20:06:58.025: E/AndroidRuntime(26021): at android.app.Activity.runOnUiThread(Activity.java:3707)
05-25 20:06:58.025: E/AndroidRuntime(26021): at utp.android.aplicacion.ListarAlumnos.onItemClick(ListarAlumnos.java:149)
05-25 20:06:58.025: E/AndroidRuntime(26021): at android.widget.AdapterView.performItemClick(AdapterView.java:284)
05-25 20:06:58.025: E/AndroidRuntime(26021): at android.widget.ListView.performItemClick(ListView.java:3382)
05-25 20:06:58.025: E/AndroidRuntime(26021): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2394)
05-25 20:06:58.025: E/AndroidRuntime(26021): at android.os.Handler.handleCallback(Handler.java:587)
05-25 20:06:58.025: E/AndroidRuntime(26021): at android.os.Handler.dispatchMessage(Handler.java:92)
05-25 20:06:58.025: E/AndroidRuntime(26021): at android.os.Looper.loop(Looper.java:123)
05-25 20:06:58.025: E/AndroidRuntime(26021): at android.app.ActivityThread.main(ActivityThread.java:4627)
05-25 20:06:58.025: E/AndroidRuntime(26021): at java.lang.reflect.Method.invokeNative(Native Method)
05-25 20:06:58.025: E/AndroidRuntime(26021): at java.lang.reflect.Method.invoke(Method.java:521)
05-25 20:06:58.025: E/AndroidRuntime(26021): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
05-25 20:06:58.025: E/AndroidRuntime(26021): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
05-25 20:06:58.025: E/AndroidRuntime(26021): at dalvik.system.NativeStart.main(Native Method)
주요 활동 :
public class Administrador extends TabActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_administrador);
TabHost tabHost = getTabHost();
TabSpec photospec = tabHost.newTabSpec("Mantenimiento");
photospec.setIndicator("Mantenimiento", getResources().getDrawable(R.drawable.icon_photos_tab));
Intent photosIntent = new Intent(this, ListarAlumnos.class);
photospec.setContent(photosIntent);
TabSpec songspec = tabHost.newTabSpec("Asignaciones");
songspec.setIndicator("Asignaciones", getResources().getDrawable(R.drawable.icon_songs_tab));
Intent songsIntent = new Intent(this, Asignaciones.class);
songspec.setContent(songsIntent);
TabSpec videospec = tabHost.newTabSpec("Reportes");
videospec.setIndicator("Reportes", getResources().getDrawable(R.drawable.icon_videos_tab));
Intent videosIntent = new Intent(this, Reportes.class);
videospec.setContent(videosIntent);
// Adding all TabSpec to TabHost
tabHost.addTab(photospec); // Adding photos tab
tabHost.addTab(songspec); // Adding songs tab
tabHost.addTab(videospec); // Adding videos tab
}
}
활동 첫 번째 탭의 각 항목을 클릭 나는 다음과 같은 오류를 가지고에 AlertDialog 떠날해야 할 때 목록보기와 groupactivity 내의 다른 활동에 내게 전화 ListarAlumnos는 :
public class ListarAlumnos extends ActivityGroup implements OnItemClickListener{
public static MenuAdministrador context;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View viewToLoad = LayoutInflater.from(this.getParent()).inflate(R.layout.activity_listar_alumnos, null);
this.setContentView(viewToLoad);
//setContentView(R.layout.activity_listar_alumnos);
lstalumnos = (ListView)findViewById(R.id.LISTAPRUEBA);
lstalumnos.setOnItemClickListener(this);
///THE LISTVIEW CONTAINS DATA OF DATABASE
}
public void onItemClick(AdapterView<?> arg0, View arg1, final int arg2, long arg3) {
Toast.makeText(getApplicationContext(), "ok", 1000).show();
//Context appContext = this.getApplicationContext();
//Dialog builder = new Dialog(appContext);
runOnUiThread(new Runnable() {
public void run() {
// TODO Auto-generated method stub
final AlertDialog.Builder builder = new AlertDialog.Builder(getParent());
///builder.setTitle("Matenimiento de "+ Apellido.get(arg2));
///builder.setMessage("Por favor, escoger accion : ");
///builder.setPositiveButton("Actualizar", new DialogInterface.OnClickListener()
///{
///public void onClick(DialogInterface dialog, int which) {
///Actualizar(arg2);
///}
///});
///builder.setNegativeButton("Deshabilitar", new DialogInterface.OnClickListener() {
///public void onClick(DialogInterface dialog, int which) {
/// Eliminar(arg2);
///}
///});
builder.create().show();
}})
;
}
그게 나를 위해 일하지 않는다 : ( –
각 액티비티에는 각각의 컨텍스트가있는 대화 상자가 있어야한다고 생각합니다. 실행해야하는 다른 활동이 이미 끝났을 때 대화 상자를 열려고 할 때이 오류가 발생합니다. Dialobox가 나타나고 열려있는 활동이 파손될 때도 발생할 수 있습니다. –
당신은 맞습니다!하지만 getParent()는 나와 나와 진실을 위해 일하지 않고 모든 것을 시도했습니다. 답장을 보내 주셔서 감사합니다. –