The code should replace the activity on the second, but it does not. I can not figure out what the problem is.

package com.example.alexey.projectarmytap; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.ContextMenu; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.ListView; import java.util.ArrayList; import java.util.Collections; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private static int counter; private static Seifim seifim; Button btnCreateNewTofes, btnNewMail; DBHelper helper; SQLiteDatabase db; ListView listview1; final ArrayList<Seifim> list = new ArrayList<>(); ArrayAdapter adapter = null; ListView listview = null; String mailadress = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Intent intent = getIntent(); ListView listview = (ListView) findViewById(R.id.listview1); ArrayAdapter<Seifim> adapter = new ArrayAdapter<Seifim>(this, R.layout.layout_list, R.id.textViewnew, list); DBHelper helper = new DBHelper(this); SQLiteDatabase db = helper.getReadableDatabase(); Seifim seifim = (Seifim) intent.getSerializableExtra("seifim"); mailadress = intent.getStringExtra("mailadress"); ///////////// not sure btnCreateNewTofes = (Button) findViewById(R.id.createNewTofes); btnCreateNewTofes.setOnClickListener(this); listview1 = (ListView)findViewById(R.id.listview1); if (seifim != null) { String sql = "INSERT INTO items (misparRehev, shemEhida, kamutKilometrim, date, sugTipul, manoa, delek, higui, blamim, zmigim, hashmal, hashlada, abs, mivhan, totzaa) VALUES ('" + seifim.getMisparRehev() + "','" + seifim.getShemEhida() + "','" + seifim.getSugTipul() + "','" + seifim.getDate() + "','" + seifim.getKamutKilometrim() + "','" + seifim.getManoa() + "','" + seifim.getDelek() + "','" + seifim.getHigui() + "','" + seifim.getBlamim() + "','" + seifim.getZmigim() + "','" + seifim.getHashmal() + "','" + seifim.getHashlada() + "','" + seifim.getAbs() + "','" + seifim.getMivhan() + "','" + seifim.getTotzaa() + "')"; System.out.println("sql=" +sql); db.execSQL(sql); sql = "SELECT * FROM items"; Cursor cursor = db.rawQuery(sql, null, null); System.out.println("cursor count: " + cursor.getCount()); while (cursor.moveToNext()){ seifim = new Seifim(); lemaleSeifim(seifim,cursor); list.add(seifim); } Collections.reverse(list); listview.setAdapter(adapter); registerForContextMenu(listview); } else { String sql2 = "SELECT * FROM items"; Cursor cursor = db.rawQuery(sql2, null, null); while (cursor.moveToNext()){ seifim = new Seifim(); lemaleSeifim(seifim, cursor); list.add(seifim); } Collections.reverse(list); listview.setAdapter(adapter); registerForContextMenu(listview); } final Seifim totzaaShelSeifim = seifim; listview1.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) { Intent intent = new Intent(MainActivity.this, ShowSeifimActivity.class); intent.putExtra("list", list); intent.putExtra("position", position); Seifim fin = list.get(position); int finMr = fin.getMisparRehev(); startActivity(intent); } }); } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo){ if (v.getId()==R.id.listview1){ super.onCreateContextMenu(menu, v, menuInfo); AdapterView.AdapterContextMenuInfo ad = (AdapterView.AdapterContextMenuInfo) menuInfo; counter = ((AdapterView.AdapterContextMenuInfo)menuInfo).position; menu.setHeaderTitle("choose:"); menu.add(0, v.getId(), 0, "Send"); menu.add(0, v.getId(), 0, "Delete"); } } public boolean onContextItemSelected(MenuItem item){ if (item.getTitle()=="Send"){ Seifim seifim = list.get(counter); int id = seifim.getId(); sendSeifim(id); } else if (item.getTitle()=="Delete"){ Seifim seifim = list.get(counter); int id = seifim.getId(); if (deleteSeifim(id)>0){ list.remove(counter); updateBd(); } } return false; } private Seifim lemaleSeifim(Seifim seifim, Cursor cursor) { seifim.setId(cursor.getInt(0)); seifim.setMisparRehev(cursor.getInt(1)); seifim.setKamutKilometrim(cursor.getInt(2)); seifim.setShemEhida(cursor.getString(3)); seifim.setSugTipul(cursor.getString(4)); seifim.setDate(cursor.getString(5)); seifim.setManoa(cursor.getString(6)); seifim.setDelek(cursor.getString(7)); seifim.setHigui(cursor.getString(8)); seifim.setBlamim(cursor.getString(9)); seifim.setZmigim(cursor.getString(10)); seifim.setHashmal(cursor.getString(11)); seifim.setHashlada(cursor.getString(12)); seifim.setAbs(cursor.getString(13)); seifim.setMivhan(cursor.getString(14)); seifim.setTotzaa(cursor.getString(15)); return seifim; } public int deleteSeifim (int id){ DBHelper helper = new DBHelper(this); SQLiteDatabase db = helper.getReadableDatabase(); String sql2 = "SELECT * FROM items"; return db.delete("items", "ID=?", new String[]{String.valueOf(id)}); } public void sendSeifim (int id){ DBHelper helper = new DBHelper(this); SQLiteDatabase db = helper.getReadableDatabase(); String sql2 = "SELECT * FROM items WHERE id="+id+""; Cursor cursor = db.rawQuery(sql2, null, null); while (cursor.moveToNext()){ seifim = new Seifim(); seifim = lemaleSeifim(seifim, cursor); String mail = getmail(seifim); Intent email = new Intent(Intent.ACTION_SEND); email.putExtra(Intent.EXTRA_EMAIL, new String[]{mailadress}); email.putExtra(Intent.EXTRA_SUBJECT, "tofes tipul"); email.putExtra(Intent.EXTRA_TEXT, mail); email.setType("message/rfc822"); startActivity(Intent.createChooser(email, "which client?")); } } public void updateBd(){ list.clear(); DBHelper helper = new DBHelper(this); SQLiteDatabase db = helper.getReadableDatabase(); ListView listview = (ListView) findViewById(R.id.listview1); ArrayAdapter<Seifim> adapter = new ArrayAdapter<Seifim>(this, R.layout.layout_list, R.id.textViewnew, list); String sql2 = "SELECT * FROM items"; Cursor cursor = db.rawQuery(sql2, null, null); while (cursor.moveToNext()){ seifim = new Seifim(); lemaleSeifim(seifim, cursor); list.add(seifim); } adapter.notifyDataSetChanged(); Collections.reverse(list); listview.setAdapter(adapter); registerForContextMenu(listview); } private String getmail(Seifim seifim){ return " 诪住驻专 专讻讘: " + seifim.getMisparRehev() + " 讬讞讬讚讛: " +seifim.getShemEhida()+"" + " 拽讬诇讜诪讟专讝': " + seifim.getKamutKilometrim() + " 谞讜爪专 讘转讗专讬讱: " + seifim.getDate() + " 住讜讙 讟讬驻讜诇: " + seifim.getSugTipul(); } @Override public void onClick(View view) { if (view == btnCreateNewTofes) { Intent intent = new Intent(this, SecondActivity.class); startActivity(intent); } else if (view == btnNewMail) { Intent intent = new Intent(this, mailSend.class); startActivity(intent); } }} 

Error code:

  Process: com.example.alexey.projectarmytap, PID: 10876 android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.alexey.projectarmytap/com.example.alexey.projectarmytap.SecondActivity}; have you declared this activity in your AndroidManifest.xml? at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1805) at android.app.Instrumentation.execStartActivity(Instrumentation.java:1523) at android.app.Activity.startActivityForResult(Activity.java:4225) at android.support.v4.app.BaseFragmentActivityApi16.startActivityForResult(BaseFragmentActivityApi16.java:54) at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:67) at android.app.Activity.startActivityForResult(Activity.java:4183) at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:720) at android.app.Activity.startActivity(Activity.java:4522) at android.app.Activity.startActivity(Activity.java:4490) at com.example.alexey.projectarmytap.MainActivity.onClick(MainActivity.java:193) at android.view.View.performClick(View.java:5637) at android.view.View$PerformClick.run(View.java:22429) 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:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 

    1 answer 1

    Found a mistake. It was necessary to specify the second activity in AndroidManifest.xml

      <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".SecondActivity"/> <activity android:name=".ShowSeifimActivity"/>/ </application>