Reputation: 3
I have a menu on action bar that should open a specific activity on click, im calling the activity that i want to open (MaininsertActivity.java) but the view i get to see its activity_main2.xml
MainActivity.java
package com.example.bugdroid.trabalhoapp1;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import com.example.bugdroid.trabalhoapp1.modelo.Series;
import com.example.bugdroid.trabalhoapp1.modelo.Serie;
public class MainActivity extends AppCompatActivity {
private ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv = (ListView) findViewById(R.id.lista_series);
Series Series = new Series();
Serie exemplo = new Serie ("Thrones", "açao", 50, 10, 1900 );
Series.getLista().add(exemplo);
exemplo = new Serie("CSI", "Policial", 30, 20, 4);
Series.getLista().add(exemplo);
exemplo = new Serie("Flash", "aventura", 30, 20, 4);
Series.getLista().add(exemplo);
exemplo = new Serie("Vikings", "Historia", 3, 2, 4);
Series.getLista().add(exemplo);
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, Series.getLista());
lv.setAdapter(adapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = this.getMenuInflater();
inflater.inflate(R.menu.menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if(id == R.id.action_add) {
Intent intent = new Intent(this, MaininsertActivity.class);
startActivity(intent);
return true;
}
return super.onOptionsItemSelected(item);
}
}
MaininsertActivity.java
package com.example.bugdroid.trabalhoapp1;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.EditText;
public class MaininsertActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maininsert);
EditText et = (EditText) findViewById(R.id.nomeSerie);
String nomedaserie = et.getText().toString();
Intent i = new Intent(this, Main2Activity.class);
i.putExtra("nomeSerie", nomedaserie);
startActivity(i);
}
}
Main2Activity.java
package com.example.bugdroid.trabalhoapp1;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ListView;
import com.example.bugdroid.trabalhoapp1.modelo.Serie;
import java.util.ArrayList;
public class Main2Activity extends AppCompatActivity {
String uriString;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Intent i = getIntent();
uriString = i.getStringExtra("nomeSerie");
}
}
This is my project tree:
https://gyazo.com/e3cae13f1b62c2cb1442f377405ca55b
Upvotes: 0
Views: 172
Reputation: 257
In the onCreate method of 'MaininsertActivity' , you are starting 'Main2Activity' with these lines:
Intent i = new Intent(this, Main2Activity.class);
i.putExtra("nomeSerie", nomedaserie);
startActivity(i);
Thus the layout of MainActivity2 is visible on the screen - R.layout.activity_main2 .
Upvotes: 0
Reputation: 5269
you are passing intent in onCreate method thats why, remove your intent in your insertActivity. and try to put in button click
Upvotes: 0
Reputation: 11
that Because you calling in the onCreate in the MaininsertActivity to the Main2Activity class
Upvotes: 0
Reputation: 9225
Thats because you have called the Main2Activity
in onCreate of MaininsertActivity
,
Intent i = new Intent(this, Main2Activity.class);
i.putExtra("nomeSerie", nomedaserie);
startActivity(i);
so when you click on menu item it is firsty initiating the MaininsertActivity
but as in OnCreate , there is another Intent, so it is forwading to MainA2ctivity
.
Upvotes: 0
Reputation: 9121
because in onCreate() of MaininsertActivity you are starting Main2Activity. this is why you are seeing Main2Activity layout
Intent i = new Intent(this, Main2Activity.class);
i.putExtra("nomeSerie", nomedaserie);
startActivity(i);
because of this code you getting Main2Activity screen
Upvotes: 1