안드로이드 개발 질문/답변
(글 수 45,052)
정말 돌아 버립니다.

위 사진은 웹서비스를 이용해서 데이터베이스에 들어있는 단어를 가져오는것입니다.
string배열로 받아오는데요..
string[0] = 자동차
string[1] = car
string[2] = 공부
string[3] = study
이런식으로 받아오는데요...
아래 코드...
package com.db;
import java.util.*;
import org.ksoap2.*; import org.ksoap2.serialization.*; import org.ksoap2.transport.*;
import android.app.*; import android.content.*; import android.os.*; import android.view.*; import android.widget.*; import android.widget.AdapterView.OnItemClickListener;
public class DBActivity extends Activity {
/** Called when the activity is first created. */
private static final String SOAP_ACTION = "http://tempuri.org/SelectQuiz";
private static final String METHOD_NAME = "SelectQuiz";
private static final String NAMESPACE = "http://tempuri.org/";
private static final String URL = "http://192.168.34.56/Quiz/Service1.asmx";
private ListView lv;
private TextView tv;
private final ArrayList<String> qList = new ArrayList<String>();//문제
private final ArrayList<String> aList = new ArrayList<String>();//답
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lv = (ListView)findViewById(R.id.id_LV);
tv =(TextView)findViewById(R.id.id_TV);
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
StartQuiz(qList.get(arg2).toString(),aList.get(arg2).toString());
}
});
MyDataSetting();
}
private void StartQuiz(String quiz, String answer) {
String[] temp = new String[2];
temp[0]=quiz;
temp[1]=answer;
Intent intent = new Intent(this,QuizActivity.class);
intent.putExtra("quest",temp);
startActivity(intent);
}
private void MyDataSetting() {
final ArrayAdapter<String> aa;
aa = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,qList);
lv.setAdapter(aa);
try
{
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
SoapSerializationEnvelope Envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
Envelope.dotNet=true;
Envelope.setOutputSoapObject(request);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
androidHttpTransport.call(SOAP_ACTION, Envelope);
SoapObject resultString = (SoapObject)Envelope.bodyIn;
for(int i=0;i<resultString.getPropertyCount();i++)
{
SoapObject data = (SoapObject)resultString.getProperty(i);
for(int j=0;j<data.getPropertyCount();j+=2)
{
qList.add(0, data.getProperty(j).toString());
}
for(int j=1;j<data.getPropertyCount();j+=2)
{
aList.add(0, data.getProperty(j).toString());
}
}
aa.notifyDataSetChanged();
}
catch (Exception e) {
}
}
}간단합니다.
만약
자동차를 클릭하면
"자동차" 와 "car"가 다음 인텐트로 넘어갑니다.
앞에서 받아온 string[2]에 집어 넣습니다.
string[0]=자동차
string[1]=car가 들어 가는 것이지요...
아래 코드를 보면
package com.db;
import android.app.*; import android.content.*; import android.os.*; import android.view.*; import android.view.View.OnClickListener; import android.widget.*;
public class QuizActivity extends Activity{
private String[] qaString;
private EditText et_Answer;
private Button bt_Answer;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.quest);
Intent intent = getIntent();
qaString = new String[2];
qaString = intent.getStringArrayExtra("quest");
et_Answer = (EditText)findViewById(R.id.et_ANSWER);
bt_Answer = (Button)findViewById(R.id.BT_ANSWER);
TextView qtv = (TextView)findViewById(R.id.quest);
qtv.setText(qaString[0]);
bt_Answer.setOnClickListener(new OnClickListener() {
TextView tv = (TextView)findViewById(R.id.answer);
public void onClick(View v) {
if(qaString[1].equals(et_Answer.getText()))
{
Toast.makeText(QuizActivity.this,"맞습니다." , Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(QuizActivity.this,"틀렸습니다.", Toast.LENGTH_SHORT).show();
tv.setText(et_Answer.getText() + "\n" + qaString[1]);
}
}
});
}
}
여기서 버튼을 클릭하면 edittext에 있는 텍스트와 string[1]을 비교하는 것입니다.
setOnClickListener 이 부분의 if문 안에서 비교를 하는데 비교가 안먹히네요...
무조건 else로 넘어갑니다.
테스트로 텍스트뷰에 edittext와 string[1]을 띄어 봤지만 같습니다.
무슨 문제일까요??




.getText().toString();