2016-09-29 26 views
-3

私は2つの異なるArrayListsを使用してサイトにパスワードを保存するAPKを作成しようとしています。こうすることで、サイトの正しいインデックス番号を取得し、このインデックス番号に基づいてパスワードを取得できます。 MainActivityの冒頭では、ArrayListsに2つのランダムなStringを追加するので、空のArrayListで作業する必要はありませんが、これはまったく役に立たないと思います。コードが機能しない

問題は、私が入れた最後のサイトパスワードしか見ることができないということです。以前の組み合わせは「失われています」。

コード:

MainActivity.java

package com.example.prive.passwordsafe; 

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import android.widget.Button; 

import java.util.ArrayList; 

public class MainActivity extends AppCompatActivity { 

    public ArrayList<String> passwordList = new ArrayList<>(); 
    public ArrayList<String> siteList = new ArrayList<>(); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     passwordList.add("ejifjejfijeifjeijfiejifjeijfiejfijefie"); 
     siteList.add("iejfijeifjiejfiejidvjijijeijivjiejvijeivjejv"); 

     Button addButton = (Button) findViewById(R.id.addButton); 
     Button showButton = (Button) findViewById(R.id.showButton); 

     addButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       firstIntent(); 
      } 
     }); 
     showButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       secondIntent(); 
      } 
     }); 
    } 

@Override 
    public void onResume(){ 
super.onResume(); 
add(); 
    } 
    private void firstIntent() { 

     Intent intent = new Intent(MainActivity.this, addActivity.class); 
     intent.putStringArrayListExtra("passwordList", passwordList); 
     intent.putStringArrayListExtra("siteList", siteList); 
     startActivity(intent); 
    } 

    private void secondIntent() { 
     Intent intent = new Intent(MainActivity.this, showActivity.class); 
     intent.putStringArrayListExtra("passwordList", passwordList); 
     intent.putStringArrayListExtra("siteList", siteList); 
     startActivity(intent); 
    } 

    public void add(){ 
     Bundle pickupData = getIntent().getExtras(); 
     if(pickupData == null){ 
      return; 
     } 
     String receivedPassword = pickupData.getString("Password"); 
     String receivedSite; 
     receivedSite = pickupData.getString("Site"); 
     passwordList.add(receivedPassword); 
     siteList.add(receivedSite); 
    } 
} 

addActivity.java

package com.example.prive.passwordsafe; 

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.Toast; 

public class addActivity extends AppCompatActivity { 

    public EditText siteInsert, passwordInsert; 



    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_toevoeg); 
     siteInsert = (EditText) findViewById(R.id.siteInsert); 
     passwordInsert = (EditText) findViewById(R.id.passwordInsert); 

     siteInsert.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Toast msg = Toast.makeText(getBaseContext(), "site", Toast.LENGTH_LONG); 
       msg.show(); 
      } 
     }); 
     passwordInsert.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Toast msg = Toast.makeText(getBaseContext(), "password", Toast.LENGTH_LONG); 
       msg.show(); 
      } 
     }); 

     Button button = (Button) findViewById(R.id.button); 
     button.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       String password = passwordInsert.getText().toString(); 
       String site = siteInsert.getText().toString(); 
       Intent intent = new Intent(addActivity.this, MainActivity.class); 
       intent.putExtra("Password", password); 
       intent.putExtra("Site", site); 
       startActivity(intent); 
      } 
     }); 
    } 
} 

showActivity.java

package com.example.prive.passwordsafe; 

import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 
import android.widget.Toast; 

import java.util.ArrayList; 

public class showActivity extends AppCompatActivity { 
public EditText editText; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_toon); 

     Button showButton = (Button) findViewById(R.id.showButton); 
     Button backButton = (Button) findViewById(R.id.backButton); 
     editText = (EditText) findViewById(R.id.editText); 
     final TextView textView = (TextView) findViewById(R.id.textView); 

     Bundle pickupData = getIntent().getExtras(); 
     final ArrayList<String> passwordList = pickupData.getStringArrayList("passwordList"); 
     final ArrayList<String> siteList = pickupData.getStringArrayList("siteList"); 

     editText.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Toast msg = Toast.makeText(getBaseContext(), "site", Toast.LENGTH_LONG); 
       msg.show(); 
      } 
     }); 


     if (passwordenList != null && siteList != null) { 
      showButton.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 


        int numberOfPasswords = passwordenList.size(); 

        for (int i = 0; i <= numberOfPasswords; i++) { 
         String password; 

         String temporary = editText.getText().toString(); 
         if (temporary.equals(siteList.get(i))) { 
          password = passwordList.get(i); 
          textView.setText(password); 
         }else{ 
           password = "wrong input"; 
          textView.setText(password); 
          } 
         } 

       } 
      }); 
     }else{ 
      return; 
     } 

     backButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       finish(); 
      } 
     }); 

    } 
} 

答えて

関連する問題