Error while switching Activity

Asked

Viewed 162 times

3

Good evening, I have an app with two Activity that loads external data, and I’m having trouble changing Activity before it loads all the data.When I call Activity Category, it loads external data, but if you call Activity Products before Activity Categoria load all the data I have this error :

E/AndroidRuntime: FATAL EXCEPTION: main
                  Process: com.example.soares.comprassupermecado, PID: 25322
                  android.content.ActivityNotFoundException: No Activity found to handle Intent { flg=0x14000000 launchParam=MultiScreenLaunchParams { mDisplayId=0 mBaseDisplayId=0 mFlags=0 } }
                      at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1844)
                      at android.app.Instrumentation.execStartActivity(Instrumentation.java:1531)
                      at android.app.Activity.startActivityForResult(Activity.java:4403)
                      at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:754)
                      at android.app.Activity.startActivityForResult(Activity.java:4362)
                      at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:741)
                      at android.app.Activity.startActivity(Activity.java:4686)
                      at android.app.Activity.startActivity(Activity.java:4654)
                      at com.example.soares.comprassupermecado.TelaPrincipal.onNavigationItemSelected(TelaPrincipal.java:166)
                      at android.support.design.widget.NavigationView$1.onMenuItemSelected(NavigationView.java:170)
                      at android.support.v7.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:840)
                      at android.support.v7.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:158)
                      at android.support.v7.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:991)
                      at android.support.design.internal.NavigationMenuPresenter$1.onClick(NavigationMenuPresenter.java:352)
                      at android.view.View.performClick(View.java:6261)
                      at android.view.View$PerformClick.run(View.java:23752)
                      at android.os.Handler.handleCallback(Handler.java:751)
                      at android.os.Handler.dispatchMessage(Handler.java:95)
                      at android.os.Looper.loop(Looper.java:154)
                      at android.app.ActivityThread.main(ActivityThread.java:6776)
                      at java.lang.reflect.Method.invoke(Native Method)
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1496)
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1386)

My Main Activity(navigation Drawer )

package com.example.soares.comprassupermecado;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Build;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.MenuInflater;
import android.view.View;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;

import com.example.soares.comprassupermecado.Fragments.Fragment_Categorias;
import com.example.soares.comprassupermecado.Fragments.Fragment_Produtos;
import com.example.soares.comprassupermecado.Fragments.Fragment_lista;
import com.squareup.picasso.Picasso;

import de.hdodenhof.circleimageview.CircleImageView;

public class TelaPrincipal extends AppCompatActivity
        implements NavigationView.OnNavigationItemSelectedListener {

    public static final String StatusLoginAuto = "StatusLoginAuto";

    String UrlFoto = "";
    String NomeUser = "";
    String fragmentAction = "";
    Context context;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tela_principal);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawer.addDrawerListener(toggle);
        toggle.syncState();

        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);

        View hView =  navigationView.getHeaderView(0);

        SharedPreferences settings = getSharedPreferences(StatusLoginAuto, 0);
        UrlFoto = settings.getString("fotouser","");
        NomeUser = settings.getString("nomeuser","");

        TextView UserLogado = (TextView)hView.findViewById(R.id.EditUserLogado);
        TextView BemVindo = (TextView)hView.findViewById(R.id.EditBemVindo);

        String LinkFotoUSer = "http://192.168.0.120/profile/" + UrlFoto;

        CircleImageView imagem_profile = (CircleImageView)hView.findViewById(R.id.ImageProfile);

        BemVindo.setText("Olá,");
        UserLogado.setText(NomeUser);
        Picasso.get().load(LinkFotoUSer).into(imagem_profile);

        getSupportActionBar().setTitle("Lista de Compras");
        getSupportFragmentManager().beginTransaction()
                .add(R.id.container, new Fragment_lista())
                .commit();
        fragmentAction = "2";
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu_os, menu);
        MenuItem shareItem = menu.findItem(R.id.action_back);

        if (fragmentAction.equals("1")) {
            shareItem.setVisible(false);
        }
        if (fragmentAction.equals("2")) {
            shareItem.setVisible(true);
        }
        if (fragmentAction.equals("3")) {
            shareItem.setVisible(false);
        }
        return true;
    }

    @Override
    public void onBackPressed() {
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        if (drawer.isDrawerOpen(GravityCompat.START)) {
            drawer.closeDrawer(GravityCompat.START);
        } else {
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
                finishAffinity();
            }
        }
    }


    @Override
    public boolean onOptionsItemSelected(MenuItem item) {


        switch (item.getItemId()) {

            case R.id.action_back:

                if (getSupportFragmentManager().getFragments() != null && getSupportFragmentManager().getFragments().size() > 0) {
                    for (int i = 0; i  0) {
            for (int i = 0; i 

Activity Categoria

package com.example.soares.comprassupermecado.Fragments; import android.content.Intent; import android.content.SharedPreferences; import android.os.AsyncTask; import android.os.Bundle; import android.os.Handler; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ImageView; import android.widget.ListView; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; import com.example.soares.comprassupermecado.ItemFragments.ItemCategorias; import com.example.soares.comprassupermecado.ListAdapter.ListAdapterCategorias; import com.example.soares.comprassupermecado.NewCategoria; import com.example.soares.comprassupermecado.R; import com.example.soares.comprassupermecado.ViewCategoria; import com.example.soares.comprassupermecado.WebService.ConexaoDB; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; public class Fragment_Categorias extends Fragment implements View.OnClickListener { private String url = ""; private String parametros =""; public static final String StatusLoginAuto = "StatusLoginAuto"; private ListView listCategoria; private ProgressBar progressBar; private TextView textresultbusca; private ImageView BtnNovaCategoria; private int i; private LayoutInflater inflater; private View view; ArrayList listaCategoria = new ArrayList(); String StatusJson = ""; String NomeCategoria = ""; String IdCategoria = ""; String QuantCategoria = ""; String ObsCategoria = ""; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (view == null) { SharedPreferences settings = this.getActivity().getSharedPreferences(StatusLoginAuto, 0); String Chave = settings.getString("chaveusuario",""); view = inflater.inflate(R.layout.fragment_fragment__categorias,null); listCategoria = (ListView)view.findViewById(R.id.listCategorias); final Handler handler = new Handler(); boolean b = handler.postDelayed(new Runnable() { @Override public void run() { ListAdapterCategorias adapterCategorias = new ListAdapterCategorias(getContext(), listaCategoria); listCategoria.setAdapter(adapterCategorias); progressBar = (ProgressBar) view.findViewById(R.id.HeaderProgressCategoria); textresultbusca = (TextView) view.findViewById(R.id.ResultBuscaCategoria); BtnNovaCategoria = (ImageView) view.findViewById(R.id.BtnNovaCategoria); progressBar.setVisibility(view.GONE); BtnNovaCategoria.setVisibility(view.VISIBLE); if (StatusJson.equals("1")) { textresultbusca.setVisibility(view.VISIBLE); } } }, 5000); listCategoria.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView adapterView, View view, int position, long id) { TextView TextIDCategoria = (TextView) view.findViewById(R.id.TextID); TextView TextNomeCategoria = (TextView) view.findViewById(R.id.TextNomeCategoria); TextView TextObsCategoria = (TextView) view.findViewById(R.id.TextObs); TextView TextQuantProdutos = (TextView) view.findViewById(R.id.NumerosQuantProdutos); String IDCategoria = TextIDCategoria.getText().toString(); String NomeCategoria = TextNomeCategoria.getText().toString(); String ObsCategoria = TextObsCategoria.getText().toString(); String QuantCategoria = TextQuantProdutos.getText().toString(); Bundle extras = new Bundle(); extras.putString("idcategoria",IDCategoria); extras.putString("nomecategoria",NomeCategoria); extras.putString("obscategoria",ObsCategoria); extras.putString("quantcategoria",QuantCategoria); Intent intent = new Intent(getActivity(), ViewCategoria.class); intent.putExtras(extras); startActivity(intent); } }); } return view; } @Override public void onResume() { listaCategoria.clear(); listCategoria = (ListView)view.findViewById(R.id.listCategorias); progressBar = (ProgressBar) view.findViewById(R.id.HeaderProgressCategoria); textresultbusca = (TextView) view.findViewById(R.id.ResultBuscaCategoria); BtnNovaCategoria = (ImageView) view.findViewById(R.id.BtnNovaCategoria); listCategoria.setAdapter(null); progressBar.setVisibility(view.VISIBLE); BtnNovaCategoria.setVisibility(view.GONE); textresultbusca.setVisibility(view.GONE); SharedPreferences settings = this.getActivity().getSharedPreferences(StatusLoginAuto, 0); String Chave = settings.getString("chaveusuario",""); url = "http://192.168.0.120/compras/categorias.php?status=listview&chave=" + Chave; new SolicitarDados().execute(url); final Handler handler = new Handler(); boolean b = handler.postDelayed(new Runnable() { @Override public void run() { ListAdapterCategorias adapterCategorias = new ListAdapterCategorias(getContext(), listaCategoria); listCategoria.setAdapter(adapterCategorias); progressBar.setVisibility(view.GONE); BtnNovaCategoria.setVisibility(view.VISIBLE); if (StatusJson.equals("1")) { textresultbusca.setVisibility(view.VISIBLE); } } }, 5000); super.onResume(); } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { BtnNovaCategoria = (ImageView) getActivity().findViewById(R.id.BtnNovaCategoria); BtnNovaCategoria.setOnClickListener((View.OnClickListener) this); super.onActivityCreated(savedInstanceState); } @Override public void onClick(final View v) { switch (v.getId()) { case R.id.BtnNovaCategoria: Intent intent = new Intent(getActivity(), NewCategoria.class); startActivity(intent); break; } } private class SolicitarDados extends AsyncTask { View view; @Override protected String doInBackground(String... urls) { return ConexaoDB.postDados(urls[0], parametros); } @Override protected void onPostExecute(String result) { if(result != null) { try { JSONArray jsonarray = new JSONArray(result); for (i = 0; i

Activity Produto

package com.example.soares.comprassupermecado.Fragments; import android.content.Intent; import android.content.SharedPreferences; import android.os.AsyncTask; import android.os.Bundle; import android.os.Handler; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ImageView; import android.widget.ListView; import android.widget.ProgressBar; import android.widget.TextView; import com.example.soares.comprassupermecado.ItemFragments.ItemProdutos; import com.example.soares.comprassupermecado.ListAdapter.ListAdapterProdutos; import com.example.soares.comprassupermecado.NewCategoria; import com.example.soares.comprassupermecado.NewProduto; import com.example.soares.comprassupermecado.R; import com.example.soares.comprassupermecado.ViewProduto; import com.example.soares.comprassupermecado.WebService.ConexaoDB; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; import java.util.ArrayList; public class Fragment_Produtos extends Fragment implements View.OnClickListener { private String url =""; private String parametros =""; private ListView listProdutos; private ProgressBar progressBar; private TextView textresultbusca; private ImageView BtnNovoProduto; private int i; private LayoutInflater inflater; private View view; public static final String StatusLoginAuto = "StatusLoginAuto"; ArrayList listaProdutos = new ArrayList(); String StatusJson = ""; String NomeProduto = ""; String IdProduto = ""; String ObsProduto = ""; String CategoriaProduto = ""; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (view == null) { view = inflater.inflate(R.layout.fragment_fragment__produtos,null); listProdutos = (ListView)view.findViewById(R.id.listProduto); final Handler handler = new Handler(); boolean b = handler.postDelayed(new Runnable() { @Override public void run() { ListAdapterProdutos adapterProdutos = new ListAdapterProdutos(getContext(), listaProdutos); listProdutos.setAdapter(adapterProdutos); progressBar = (ProgressBar) view.findViewById(R.id.HeaderProgressProduto); textresultbusca = (TextView) view.findViewById(R.id.ResultBuscaProduto); BtnNovoProduto = (ImageView) view.findViewById(R.id.BtnNovoProduto); progressBar.setVisibility(view.GONE); BtnNovoProduto.setVisibility(view.VISIBLE); if (StatusJson.equals("1")) { textresultbusca.setVisibility(view.VISIBLE); } } }, 5000); listProdutos.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView adapterView, View view, int position, long id) { TextView TextIDProduto = (TextView) view.findViewById(R.id.TextIDProduto); TextView TextNomeProduto = (TextView) view.findViewById(R.id.TextNomeProduto); TextView TextObsProduto = (TextView) view.findViewById(R.id.TextObsProduto); TextView TextCategoriaProduto = (TextView) view.findViewById(R.id.TextNomeProduto); String IDProduto = TextIDProduto.getText().toString(); String NomeProduto = TextNomeProduto.getText().toString(); String ObsProduto = TextObsProduto.getText().toString(); String CategoriaProduto = TextCategoriaProduto.getText().toString(); Bundle extras = new Bundle(); extras.putString("idproduto",IDProduto); extras.putString("nomeproduto",NomeProduto); extras.putString("obsproduto",ObsProduto); extras.putString("categoriaproduto",CategoriaProduto); Intent intent = new Intent(getActivity(), ViewProduto.class); intent.putExtras(extras); startActivity(intent); } }); } return view; } @Override public void onResume() { listaProdutos.clear(); listProdutos = (ListView)view.findViewById(R.id.listProduto); progressBar = (ProgressBar) view.findViewById(R.id.HeaderProgressProduto); textresultbusca = (TextView) view.findViewById(R.id.ResultBuscaProduto); BtnNovoProduto = (ImageView) view.findViewById(R.id.BtnNovoProduto); listProdutos.setAdapter(null); progressBar.setVisibility(view.VISIBLE); BtnNovoProduto.setVisibility(view.GONE); textresultbusca.setVisibility(view.GONE); SharedPreferences settings = this.getActivity().getSharedPreferences(StatusLoginAuto, 0); String Chave = settings.getString("chaveusuario",""); url = "http://192.168.0.120/compras/produtos.php?status=listview&chave=" + Chave; new SolicitarDados().execute(url); final Handler handler = new Handler(); boolean b = handler.postDelayed(new Runnable() { @Override public void run() { ListAdapterProdutos adapterProdutos = new ListAdapterProdutos(getContext(), listaProdutos); listProdutos.setAdapter(adapterProdutos); progressBar = (ProgressBar) view.findViewById(R.id.HeaderProgressProduto); textresultbusca = (TextView) view.findViewById(R.id.ResultBuscaProduto); BtnNovoProduto = (ImageView) view.findViewById(R.id.BtnNovoProduto); progressBar.setVisibility(view.GONE); BtnNovoProduto.setVisibility(view.VISIBLE); if (StatusJson.equals("1")) { textresultbusca.setVisibility(view.VISIBLE); } } }, 5000); super.onResume(); } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { BtnNovoProduto = (ImageView) getActivity().findViewById(R.id.BtnNovoProduto); BtnNovoProduto.setOnClickListener((View.OnClickListener) this); super.onActivityCreated(savedInstanceState); } @Override public void onClick(final View v) { switch (v.getId()) { case R.id.BtnNovoProduto: Intent intent = new Intent(getActivity(), NewProduto.class); startActivity(intent); break; } } private class SolicitarDados extends AsyncTask { View view; @Override protected String doInBackground(String... urls) { return ConexaoDB.postDados(urls[0], parametros); } @Override protected void onPostExecute(String result) { if(result != null) { try { JSONArray jsonarray = new JSONArray(result); for (i = 0; i

Manifest

The same thing happens by changing the order of the Activitys. Can you help me ?

  • 1

    Post your code where a Activity calls the other and its pole manifest.xml also.

  • updated the question with the codes

1 answer

3


I managed to solve, the error happens pq when it finishes loading the data and will set the Arrayadapter, the Activity is no longer open, so I decided to put a check of the status of the Activity before setting the data.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.