마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Edit값과 배열의비교

0 추천
package com.example.area;

import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends Activity {
    Button button1;
    
    AutoCompleteTextView editText;
    ListView listview;
    ArrayList<String> list;
    ArrayAdapter<String> adapter;
    
    String[] items = {"경남 창원시 의창구 명서동", "경남 창원시 의창구 봉곡동", "경남 창원시 의창구 사림동", "경남 창원시 의창구 도계동", "경남 창원시 성산구 상남동", "경남 창원시 성산구 반지동", "경남 창원시 성산구 중앙동 ",
            "경남 창원시 성산구 대방동", "경남 진주시 봉곡동"};

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_main);
        

        editText = (AutoCompleteTextView)findViewById(R.id.edit);
        button1 = (Button) findViewById(R.id.button1);
        list = new ArrayList<String>();
        listview = (ListView) findViewById(R.id.listview);
        listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                // TODO Auto-generated method stub
                String st = (String)adapter.getItem(position);
                Toast.makeText(getBaseContext(),st+" 설정 완료",Toast.LENGTH_SHORT).show();
                
                //Toast.makeText(getApplicationContext(), "지역 설정이 완료 되었습니다.", Toast.LENGTH_SHORT).show();
            }
                    
        });
        
        
        button1 = (Button) findViewById(R.id.button1);
        button1.setOnClickListener(new View.OnClickListener() {
            
            @Override
            public void onClick(View v) {
                
                String str = editText.getText().toString();
                //Toast.makeText(MainActivity.this,str +" 으로 설정 완료",Toast.LENGTH_LONG ).show();
                
                
                
                AutoCompleteTextView edit = (AutoCompleteTextView) findViewById(R.id.edit);
                
                if(edit.getText().toString().replace("" , "").equals("")){
                    Toast.makeText(getApplicationContext(), "값을 입력하세요", Toast.LENGTH_SHORT).show();    
                }
                else if(edit.equals("items")){
                        
                    Toast.makeText(getApplicationContext(), "지원하지 않는 지역입니다.", Toast.LENGTH_SHORT).show();
                
                }
                
                else{    
                
                    
                    Toast.makeText(MainActivity.this,str +" 으로 설정 완료",Toast.LENGTH_LONG ).show();
                    list.add(editText.getText().toString());
                    editText.setText("");
                    adapter.notifyDataSetChanged();
                }
                
            }
            
        });
        

        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list);
        listview.setAdapter(adapter);
      
       
        
        AutoCompleteTextView edit = (AutoCompleteTextView) findViewById(R.id.edit);
        edit.setAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_dropdown_item_1line, items));
        
        
    }
}

에디트에서 입력한값을 배열과 비교하여서 입력한값이 배열에 있으면 else로 넘어가게 하고 값이 없다면

동작이 실행돼지않게 하고싶은데 else if 문이 작동하지 않는것 같네요 ㅠㅠ
익명사용자 님이 2016년 11월 29일 질문

1개의 답변

0 추천
 
채택된 답변

안녕하세요

else if (edit.equals("items")) << 이부분이 잘못 되어 있네요

비교하실려면 배열값에 있는 거랑 해야하는데 "items" 라는 문자열로 비교 하고 있으시네요

도움되시길!

히로시 (10,800 포인트) 님이 2016년 11월 29일 답변
그렇게 바꿔 주어도 그대로네요 ㅠ 배열과 edit의 순서를바꾸어도 그대로에요 ..
소스만 보고 코딩 좀 수정했습니다.
비교하는 부분만 바꾸시면 될 것 같아요

// 문자 공백 체크
if(str.equalsIgnoreCase("")){
                    Toast.makeText(getApplicationContext(), "값을 입력하세요", Toast.LENGTH_SHORT).show();
                }// 입력값이 있을 경우
                else

                      // String 배열에서 값 가져오기
                    for (String temp : items){
                         // 입력값과 비교
                         // 참 인경우 설정해주고 리턴
                        if (str.equalsIgnoreCase(temp)){

                            Toast.makeText(TestActivity.this,str +" 으로 설정 완료",Toast.LENGTH_LONG ).show();
                            list.add(editText.getText().toString());
                            editText.setText("");
                            adapter.notifyDataSetChanged();
                            return;

                        }
                    }
                    // 없는 경우 메세지 출력
                    Toast.makeText(getApplicationContext(), "지원하지 않는 지역입니다.", Toast.LENGTH_SHORT).show();
                }
정말감사합니다 몇일동안 고민하던건데 한번에 해결 해주셨네요 ㅠㅠ
앞으로 공부하면서 자주 들리겠습니다 일주일묶은 변비가 내려가는 느낌이네요
도움 되셔서 다행입니다^^
...