java equalsメソッドについて
こんにちは。
java初心者ですがandroidを触ることになりました。
不可解なコードで大変恐縮ですが、ご教授願えれば幸いです。
スピナーでセレクトされた文字列と変数(A,B,C,D)の値を比較して条件分岐させたいのですが、
うまくいかず悩んでいます。
下記コード ■■■の部分になります。
1) スピナーに表示される文字列を取得し、変数itemqに代入。
2) 変数A(SONY)と変数itemq(?)を比較し、同じ文字列か比較する。
3) 同一の値であればitemqの値をテキストビューに値をセットする。
というようなものです。
equalsメソッドで比較しているのですが、この部分がどうやら間違っているようなのですが、
原因が全く分かりません。
無知な質問になりますが、どうぞ皆様宜しくお願いいたします。
またコードについての指摘や助言もおねがいします。
public class SampleActivity extends Activity {
String path = "/sdcard/PriceSearch/topitems.csv";
static List<String> items = new ArrayList<String>();
static ArrayAdapter<String> adapter;
private ListView listview;
public String itemq;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final Spinner spinner = (Spinner)findViewById(R.id.spinner1);
// read csv file
readCsvFile(spinner);
spinner.setOnItemSelectedListener(new OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> parent, View viw, int arg2, long arg3) {
Spinner spinner = (Spinner)parent;
String item = (String)spinner.getSelectedItem();
//トースト表示
Toast.makeText(Price_SearchActivity.this, item, Toast.LENGTH_LONG).show();
itemq = item;
listread();
}
//Spinnerのドロップダウンアイテムが選択されなかった時
public void onNothingSelected(AdapterView<?> parent) {
}});
Button button1 = (Button)findViewById(R.id.btnend);
button1.setOnClickListener(new View.OnClickListener() {
//@Override
public void onClick(View v) {
//Activity終了
finish();
return;
}
});
}
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
String A = "SONY";
String B = "TOSHIBA";
String C = "MITSUBISHI";
String D = "FUJITSU";
private void listread() {
TextView tv = (TextView)findViewById(R.id.textView2);
if (A.equals(itemq) ) {
tv.setText(itemq);
}else if (B.equals(itemq) ) {
tv.setText("itemq");
}else if (C.equals(itemq) ){
tv.setText("itemq");
}else if (D.equals(itemq) ){
tv.setText("itemq");
}else {
tv.setText("該当なし");
}
}
//■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
private void readCsvFile(Spinner spinner) {
try {
// create reader
InputStream input = new FileInputStream(path);
InputStreamReader ireader=new InputStreamReader(input, "UTF-8");
CSVReader reader = new CSVReader(ireader,',','"',0);
String[] csv;
//スピナー用 ArrayAdapterを作成
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.spinner);
while ((csv = reader.readNext()) != null) {
//ドロップダウンアイテムの追加
adapter.add(csv[0]);
}
//スピナーにadapterを設定
spinner.setAdapter(adapter);
reader.close();
ireader.close();
input.close();
} catch (FileNotFoundException e) {
Log.e("ERROR", e.toString());
} catch (UnsupportedEncodingException e) {
Log.e("ERROR", e.toString());
} catch (IOException e) {
Log.e("ERROR", e.toString());
}
}
}