How to do so that when I click on an Item in a listview in Android studio I opened a new activity

1

How to do so that when I click on a Item of a ListView in Android Studio I open a new activity.xml ?

This is the code I have:

package com.example.juan.pruebaprueba;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends AppCompatActivity {

ListView listviewmodelo;
    String[] listviewlista = new String[] {
            "Elemento 100",
            "Elemento 200",
            "Elemento 300",
            "Elemento 400",
            "Elemento 500",
            "Elemento 600"
    };
    List<String> convertString;
    ArrayAdapter<String> arrayadapter;

    @Override

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        listviewmodelo = (ListView)findViewById(R.id.list);

        convertString = new ArrayList<String>(Arrays.asList(listviewlista));

        arrayadapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, convertString);

        listviewmodelo.setAdapter(arrayadapter);

}

}
    
asked by Juan Moreno 18.04.2017 в 17:02
source

2 answers

1

First configure a OnItemClickListener to your ListView , inside you can define the open the Activity :

...
...

     listviewmodelo = (ListView)findViewById(R.id.list);
     convertString = new ArrayList<String>(Arrays.asList(listviewlista));
     arrayadapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, convertString);
     listviewmodelo.setAdapter(arrayadapter);

     //Configura Listener.
     listviewmodelo.setOnItemClickListener(
                    new AdapterView.OnItemClickListener() {
                        @Override
                        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                        // Abre una nueva Activity:
                        Intent myIntent = new Intent(view.getContext(), nuevaActivity.class);
                        startActivity(myIntent);

                        }
                    }
            );
    
answered by 18.04.2017 в 17:17
-2

About what you indicate, how can it be done so that when selecting an item it is redirected to different Activities? Currently I can only show the positions they are in:

listviewmodelo.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                Toast.makeText(MainActivity.this, "posicion ="+i+" opcion =? ", Toast.LENGTH_SHORT).show();
            }
        });
    
answered by 17.05.2017 в 17:34