2017-06-04 2 views
0

ok donc je fais une application où j'utilise un texte d'édition pour écrire n'importe quoi et quand j'appuie sur un bouton, il ajoute tout ce que j'ai écrit dans le edit à un listView, et cela fonctionne, mais je veux le Liste d'être dans une activité différente que le bouton et modifier le texte, donc je l'ai déplacé sans changer le code.can n'importe qui comprendre cela,combiner 2 activités ensemble

BTW toutes les variables sont publiques.

public class MainActivity extends AppCompatActivity { 
    public ArrayList<String> arrayList2; 
    public ArrayAdapter<String> adapter,adapter2; 
    public EditText editText,editText2; 
    public ArrayList<String> itemList,itemList2; 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     String[] items = {}; 
     itemList = new ArrayList<String>(Arrays.asList(items)); 
     adapter = new ArrayAdapter<String>(this, R.layout.activity_list_layout,R.id.txtItem,itemList); 
     ListView listV = (ListView)findViewById(R.id.list_layout); 
     listV.setAdapter(adapter); 
     editText = (EditText)findViewById(R.id.thingadd); 
     Button btAdd = (Button)findViewById(R.id.add); 

     String[] age = {}; 
     arrayList2 = new ArrayList<String>(Arrays.asList(age)); 
     itemList2 = new ArrayList<String>(Arrays.asList(age)); 
     adapter2 = new ArrayAdapter<String>(this, R.layout.activity_list__layout2,R.id.txtage,itemList2); 
     ListView listV2 = (ListView)findViewById(R.id.Age); 
     listV2.setAdapter(adapter2); 
     editText2 = (EditText)findViewById(R.id.agetxt); 

     btAdd.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       String newItem=editText.getText().toString(); 
       String newItem2=editText2.getText().toString(); 

       itemList.add(newItem); 
       itemList2.add(newItem2); 

       adapter.notifyDataSetChanged(); 
       adapter2.notifyDataSetChanged(); 
      } 
     }); 
    } 
} 

Répondre

0

Vous pouvez utiliser la base de données SQLite pour cela, où vous économiserions des données dans la base de données d'une activité et de la lecture et l'afficher dans listview d'une autre.

+0

Oui j'ai essayé d'utiliser SQLite mais l'application ne s'ouvrirait pas si j'utilisais SQL –

0

Vous avez 2 options pour le faire.

  1. Vous pouvez utiliser n'importe quel service de base de données. Stockez les valeurs et affichez-les dans l'activité suivante. Mais cela nécessite un service Internet à activer dans le téléphone.
  2. Vous pouvez utiliser intention. Convertissez ces entrées en type de chaîne et passez-les à l'activité suivante et affichez-les en utilisant les identifiants. Ce type ne nécessite pas de service Internet. Pour en savoir plus à ce sujet, Visit this link