pasar datos de activity a fragment
Publicado por daniel (1 intervención) el 09/05/2017 19:18:23
Estoy tratando de pasar un dato de una Activity a un Fragment, esto se debe pasar cuando presiono un botón. he probado con Bundle o directamente con get y se me pasa es un dato predefinido, pero al editar el campo de texto y unir el botón no se envía nada. Ya probé por medio de: 'Bundles', 'Directos', 'Interfaces'. Consta resaltar que el "Fragment" esta en un "Activity" diferente al otro "Activity". ¿Me podrian ayudar a tratar de solucionar esto?
Activity A:
Se llama el Fragment desde el Activity A:
Activity B:
Fragment:
Activity A:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class MenuActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
//Esta es la Actividad principal, desde aqui se llama al fragment.
DrawerLayout drawerLayout;
NavigationView navigationView;
TextView txtIndice;
String Phone = "111-11-111-1";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
//Aqui uso el boton flotante para abrir una clase.
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(view.getContext(), Comentario.class);
startActivity(intent);
}
});
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawerLayout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawerLayout.setDrawerListener(toggle);
toggle.syncState();
navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@Override
public boolean onNavigationItemSelected(MenuItem item) {
android.app.FragmentManager fm1 = getFragmentManager();
android.app.FragmentManager fm2 = getFragmentManager();
LinearLayout ly;
LinearLayout ly2;
switch (item.getItemId()) {
case R.id.pizza:
ly = (LinearLayout) findViewById(R.id.izquierda);
ly.removeAllViews();
fm1.beginTransaction().replace(R.id.izquierda, new FragmentPizza()).commit();
//FreagmentPedido es a donde debe llegar el texto de la ActivityB
//Aqui invoco al fragmet
ly2 = (LinearLayout) findViewById(R.id.derecha);
ly2.removeAllViews();
fm2.beginTransaction().replace(R.id.derecha, new FragmentPedido()).commit();
drawerLayout.closeDrawer(GravityCompat.START);
return true;
}
return false;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class Comentario extends AppCompatActivity {
String datoFragment;
EditText comentario;
Button Enviar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.comentario_flotante);
comentario = (EditText)findViewById(R.id.Comen);
Enviar = (Button)findViewById(R.id.enviar_comentario);
Enviar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class FragmentPedido extends Fragment implements View.OnClickListener {
View myview;
Button test1;
TextView recibirComentario;
String recibeDato;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
myview = inflater.inflate(R.layout.activity_fragment_pedido, container, false);
test1 = (Button) myview.findViewById(R.id.pedir);
recibirComentario = (TextView) myview.findViewById(R.id.recibe_comentario);
return myview;
}
@Override
public void onClick(View v) {
FragmentManager fm1 = getFragmentManager();
switch (v.getId()) {
case R.id.pedir:
}
}
}
Valora esta pregunta
0