Pode postar o código? Já tive esse problema, no meu caso foi simples de resolver pois por falta de atenção eu estava chamando a view errada dentro do Fragment.
--
Você recebeu essa mensagem porque está inscrito no grupo quot;CEJUG" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para cejug+un...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para ce...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/cejug.
Para mais opções, acesse https://groups.google.com/d/optout.
package br.com.coelce.comissionamento.fragment;
//import android.app.Fragment;//import android.app.FragmentManager;import java.util.HashMap;import java.util.List;
import android.content.Intent;import android.location.Location;import android.os.Bundle;import android.support.v4.app.DialogFragment;import android.app.Fragment;import android.app.FragmentManager;import android.util.Log;import android.view.LayoutInflater;import android.view.OrientationEventListener;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.ArrayAdapter;import android.widget.Button;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.TextView;import br.com.coelce.comissionamento.R;import br.com.coelce.comissionamento.adapters.ListTiposDeEnsaiosAdapter;import br.com.coelce.comissionamento.model.Equipamento;import br.com.coelce.comissionamento.model.TiposDeEnsaios;import br.com.coelce.comissionamento.model.TiposDeEquipamento;import br.com.coelce.comissionamento.persistence.DataManager;import br.com.coelce.comissionamento.references.EnsaiosB;
public class FragmentUniversal extends Fragment {
protected static final String FRAGMENT_UNIVERSAL = "FragmentUniversal"; protected static final String FRAGMENT_CRUD = "Fragments"; private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100; private Location lastLocation; private int i; private Intent home; private Bundle args, fragmentUniversal; private TextView title; private HashMap<Integer, Button> buttonList = new HashMap<Integer, Button>(); private DataManager dateManager; private Button bt_salvar, bt_cancelar, bt_home, bt_default; private LinearLayout layout; private ListView list; private Fragment fragment; private FragmentManager fragmentManager; private Long idEquipamento; private Boolean confere = false; private long id;
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Bundle args = getArguments(); idEquipamento = args.getLong(FRAGMENT_UNIVERSAL); Log.i("OnCREATE", "FRAGMENT_UNIVERSAL..."); if (savedInstanceState == null) { DataManager.getInstance().saveCurrentEquipamento(); } else { if (savedInstanceState.getBoolean("confere")) { savedInstanceState.putBoolean("confere", false);// DataManager.getInstance().getCurrentEquipamento().setCodOperacao(savedInstanceState.getString("codOper"));// DataManager.getInstance().getCurrentEquipamento().setNumeroSerie(savedInstanceState.getString("NumeroSerie")); } else { DataManager.getInstance().resetCurrentEquipamento(); DataManager.getInstance().saveCurrentEquipamento(); } }
View rootView = inflater.inflate(R.layout.fragment_universal, container, false); Log.i("onCreate: ", "PASSOU!"); // Objeto corrente... OrientationEventListener orientacao = new OrientationEventListener( getActivity()) {
@Override public void onOrientationChanged(int orientation) { confere = true; } };
list = (ListView) rootView.findViewById(R.id.listEnsaios);
castBotoes(rootView); listarBotoes(); try { popularListView(); } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); }
bt_home.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) { // DataManager.getInstance().resetCurrentEquipamento();
Intent home = new Intent(); home.setClass(getActivity(), ActivityPrincipal.class); // intent.putExtra("index", index); startActivity(home);
Equipamento equipamento = DataManager.getInstance() .getCurrentEquipamento(); if (equipamento.getNumeroSerie() == null) { DataManager.getInstance().deleteCurrentEquipamento(); } } });
title = (TextView) rootView.findViewById(R.id.textView_title_universal);
try { gerarBotoes(idEquipamento); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return rootView; }
@Override public void onDestroy() { Equipamento equipamento = DataManager.getInstance() .getCurrentEquipamento(); if (equipamento.getNumeroSerie() == null) { DataManager.getInstance().deleteCurrentEquipamento(); } super.onDestroy(); }
@Override public void onSaveInstanceState(Bundle outState) {
Equipamento equipamento = DataManager.getInstance() .getCurrentEquipamento();
outState.putBoolean("serviceStarted", confere);
// outState.putString("NumeroSerie", equipamento.getNumeroSerie().toString());// outState.putString("codOper", equipamento.getCodOperacao().toString()); super.onSaveInstanceState(outState); }
private void castBotoes(View v) {
bt_salvar = (Button) v.findViewById(R.id.button_salvar); bt_cancelar = (Button) v.findViewById(R.id.button_cancelar); bt_home = (Button) v.findViewById(R.id.button_home);
listarBotoes(); }
private void listarBotoes() { // Listar Botões para exibir posteriormente somente o necessário
buttonList.put(EnsaiosB.SALVAR, bt_salvar); buttonList.put(EnsaiosB.CANCELAR, bt_cancelar); buttonList.put(EnsaiosB.HOME, bt_home);
// Deixa invisivel todos os botões for (Button n : buttonList.values()) {
n.setVisibility(View.GONE);
} }
private void gerarBotoes(final Long idEquipamento) throws Exception {
// i = getArguments().getInt(FRAGMENT_UNIVERSAL); Log.i("gerarBotoes ID equipamento: ", idEquipamento.toString());
TiposDeEquipamento tiposDeEquipamento = DataManager.getInstance() .getTiposDeEquipamentoDao().get(idEquipamento); String nome = tiposDeEquipamento.getNome(); title.setText(nome);
// Habilita os botões necessários buttonList.get(EnsaiosB.SALVAR).setVisibility(View.VISIBLE); buttonList.get(EnsaiosB.CANCELAR).setVisibility(View.VISIBLE); buttonList.get(EnsaiosB.HOME).setVisibility(View.VISIBLE); Log.e("BOT�O", "Passou pelo gerarBotoes"); //List de botões gerados pelo forName() list.setOnItemClickListener(new OnItemClickListener() {
@Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Object t = list.getItemAtPosition(position); TiposDeEnsaios ensaio = (TiposDeEnsaios) t;
try { Class<Fragment> c = (Class<Fragment>) Class .forName(ensaio.getNomeClasse()); args = new Bundle(); args.putLong(FragmentUniversal.FRAGMENT_CRUD, idEquipamento); Fragment fragment = c.newInstance(); fragment.setArguments(args); FragmentManager fm = getFragmentManager(); fm.beginTransaction() .replace(R.id.content_frame, fragment).commit();// fragment.show(fm, "DialogFragment"); Log.e("list: ", ensaio.getNomeClasse()); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (java.lang.InstantiationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); list.setItemChecked(position, true); } catch (Exception e){ e.printStackTrace(); } } }); }
private List<TiposDeEnsaios> listTiposDeEnsaioOBJ(Long idEquipamento) throws Exception { List<TiposDeEnsaios> ensaios = DataManager.getInstance() .getTipoEquipamentoEnsaioDao() .findEnsaioByIdEquipamento(idEquipamento); // List<TiposDeEnsaios> tiposDeEnsaiosOBJ = // DataManager.getInstance().getTiposDeEnsaiosList(); return ensaios; }
private void popularListView() throws Exception { ArrayAdapter<TiposDeEnsaios> adapter = new ListTiposDeEnsaiosAdapter( this.getActivity(), R.layout.item_list_botoes_ensaios, listTiposDeEnsaioOBJ(idEquipamento)); list.setAdapter(adapter); Log.e("popularListView()", "passou pela fun��o"); }// @Override// public void onClick(View view) {// // TODO Auto-generated method stub// switch (view.getId()) {// case R.button.camera://// numeroDeSerie = numeroDeSerieEdit.getText().toString();//// codOper = codOperEdit.getText().toString();//////// try {//// if (processamentoDadosDao(CAMERA)) {//// Intent intent = new Intent(//// MediaStore.ACTION_IMAGE_CAPTURE);//// Uri fileUri = getOutputMediaFileUri(TypeMedia.IMAGE,//// equipamento.getCodOperacao(),//// equipamento.getNumeroSerie());//// path = fileUri.getPath();//// foto.setUrl(path);//// intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);//// startActivityForResult(intent,//// CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);//// }// break;// default:// break;// }// }// }
package br.com.coelce.comissionamento.dialogFragment;
import android.app.Activity;import android.app.DialogFragment;import android.app.FragmentManager;import android.app.Fragment;import android.net.Uri;import android.os.Bundle;//import android.support.v4.app.DialogFragment;//import android.support.v4.app.Fragment;//import android.support.v4.app.FragmentManager;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.view.Window;import android.widget.Button;import android.widget.EditText;import br.com.coelce.comissionamento.R;import br.com.coelce.comissionamento.model.Equipamento;import br.com.coelce.comissionamento.model.Foto;import br.com.coelce.comissionamento.persistence.DataManager;
public class IdentificadorDF extends Fragment {
private Button ok, cancelar, camera; protected static final String FRAGMENT_UNIVERSAL = "FragmentUniversal"; private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100; public static final int MEDIA_TYPE_IMAGE = 1; public static final int MEDIA_TYPE_VIDEO = 2; private static final int CAMERA = 2; private static final int OK = 1; private Uri fileUri; private String path; private static String numeroDeSerie; private static String codOper; private Long codOperLong; private EditText numeroDeSerieEdit, codOperEdit; private Foto foto; private long id; private static Equipamento equipamento; private static Long idEquipamento; private FragmentManager fragmentManager; private Fragment fragment; private View.OnClickListener clickListener; private Bundle dados; public static IdentificadorDF newInstance(){ IdentificadorDF f = new IdentificadorDF(); // Supply num input as an argument. Bundle args = new Bundle(); args.putString("numeroDeSerie", numeroDeSerie); args.putString("codOper", codOper); args.putLong("idEquipamento", idEquipamento); args.putSerializable("equipamento", equipamento); f.setArguments(args); return f; } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.dialog_fragment_id, container); //Bot�o c�mera com a��o para Activity view.findViewById(R.button.camera).setOnClickListener(clickListener); // if (getDialog() != null) {// getDialog().setCanceledOnTouchOutside(false);// } // getDialog().getWindow().requestFeature(Window.FEATURE_NO_TITLE);// setCancelable(false); Log.i("OnCREATE", "IdentificadorDF...");
numeroDeSerieEdit = (EditText) view .findViewById(R.editText.dialog_NDeSerie); codOperEdit = (EditText) view.findViewById(R.editText.dialog_CodOper); foto = new Foto(); // DataManager.getInstance().resetCurrentEquipamento(); equipamento = DataManager.getInstance().getCurrentEquipamento(); idEquipamento = equipamento.getIdTipoEquipamento();
return view; } @Override public void onAttach(Activity activity) { super.onAttach(activity); try { // Instanciar o NoticeDialogListener para que possamos enviar os eventos para o host clickListener = (View.OnClickListener) activity; } catch (ClassCastException e) { // The activity doesn't implement the interface, throw exception throw new ClassCastException(activity.toString() + " n�o implementa QuestionDialogListener"); } }
}
O código ta grande mesmo... Hehe
To examinando, geralmente o log identifica a linha do erro... No seu o q diz? Manda o log do erro tbm.
Digite o código05-16 14:07:43.001: E/AndroidRuntime(12514): FATAL EXCEPTION: main
05-16 14:07:43.001: E/AndroidRuntime(12514): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
05-16 14:07:43.001: E/AndroidRuntime(12514): at android.view.ViewGroup.addViewInner(ViewGroup.java:3348)
05-16 14:07:43.001: E/AndroidRuntime(12514): at android.view.ViewGroup.addView(ViewGroup.java:3219)
05-16 14:07:43.001: E/AndroidRuntime(12514): at android.view.ViewGroup.addView(ViewGroup.java:3176)
05-16 14:07:43.001: E/AndroidRuntime(12514): at android.view.ViewGroup.addView(ViewGroup.java:3156)
05-16 14:07:43.001: E/AndroidRuntime(12514): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:839)
05-16 14:07:43.001: E/AndroidRuntime(12514): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1032)
05-16 14:07:43.001: E/AndroidRuntime(12514): at android.app.BackStackRecord.run(BackStackRecord.java:622)
05-16 14:07:43.001: E/AndroidRuntime(12514): at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1382)
05-16 14:07:43.001: E/AndroidRuntime(12514): at android.app.FragmentManagerImpl$1.run(FragmentManager.java:426)
05-16 14:07:43.001: E/AndroidRuntime(12514): at android.os.Handler.handleCallback(Handler.java:605)
05-16 14:07:43.001: E/AndroidRuntime(12514): at android.os.Handler.dispatchMessage(Handler.java:92)
05-16 14:07:43.001: E/AndroidRuntime(12514): at android.os.Looper.loop(Looper.java:137)
05-16 14:07:43.001: E/AndroidRuntime(12514): at android.app.ActivityThread.main(ActivityThread.java:4514)
05-16 14:07:43.001: E/AndroidRuntime(12514): at java.lang.reflect.Method.invokeNative(Native Method)
05-16 14:07:43.001: E/AndroidRuntime(12514): at java.lang.reflect.Method.invoke(Method.java:511)
05-16 14:07:43.001: E/AndroidRuntime(12514): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
05-16 14:07:43.001: E/AndroidRuntime(12514): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
05-16 14:07:43.001: E/AndroidRuntime(12514): at dalvik.system.NativeStart.main(Native Method)
05-16 14:07:43.017: W/ActivityManager(219): Force finishing activity br.com.coelce.comissionamento/.fragment.ActivityPrincipal
05-16 14:07:43.056: E/android.os.Debug(219): !@Dumpstate > dumpstate -k -t -n -z -d -o /data/log/dumpstate_app_error aqui...
...
<font color
--
Você recebeu essa mensagem porque está inscrito no grupo quot;CEJUG" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para cejug+un...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para ce...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/cejug.
Para mais opções, acesse https://groups.google.com/d/optout.
Abre o projeto no intellij.
...
Fala Jordi!
...
//<span style="white-spa