package exam.Android;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.*;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
public class SubActivity extends Activity{
EditText ItemName;
//String Title;
class Example {
Example(Class<?> acls, String aTitle) {
cls = acls;
Title = aTitle;
}
String Title;
Class<?> cls;
}
Example[][] arExample = {
{ // Layout
new Example(SubActivity.class, "오리온"),
new Example(SubActivity.class, "농심"),
},
{ // Ouput
new Example(findResult.class, "농심"),
new Example(SubActivity.class, "펩시"),
},
{ // Input
new Example(SubActivity.class, "농심"),
new Example(SubActivity.class, "삼양"),
},
};
String[] arPackage = {
"cookies",
"drink",
"noodle",
};
ArrayAdapter<CharSequence> mAdapter;
int mPackage;
ListView mListActivity;
Spinner mSpin;
boolean mInitSelection = true;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.subactivity);
mListActivity = (ListView)findViewById(R.id.listactivity);
mSpin = (Spinner)findViewById(R.id.typeSpinner);
mSpin.setPrompt("select Items");
mAdapter = new ArrayAdapter<CharSequence>(this,
android.R.layout.simple_spinner_item, arPackage);
/*
mAdapter = ArrayAdapter.createFromResource(this, R.array.type,
android.R.layout.simple_spinner_item);
*/
mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpin.setAdapter(mAdapter);
mSpin.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
if (mInitSelection) {
mInitSelection = false;
SharedPreferences pref = getSharedPreferences("SubActivity", 0);
int lastpackage = pref.getInt("LastPackage", 0);
mSpin.setSelection(lastpackage);
ChangePackage(lastpackage);
} else {
ChangePackage(position);
SharedPreferences pref = getSharedPreferences("SubActivity", 0);
SharedPreferences.Editor edit = pref.edit();
edit.putInt("LastPackage", position);
edit.commit();
}
}
public void onNothingSelected(AdapterView<?> parent) {
}
});
ItemName = (EditText)findViewById(R.id.itemNameEdt);
Button btyCall = (Button)findViewById(R.id.searchItemBtn);
btyCall.setOnClickListener(new Button.OnClickListener(){
//상품명으로 검색 전달
public void onClick(View v){
if(ItemName.length() == 0){
Toast.makeText(SubActivity.this,"Input Item name",Toast.LENGTH_SHORT).show();
}
else{
Intent intent = new Intent(SubActivity.this, findResult.class);
intent.putExtra("TextIn", ItemName.getText().toString());
startActivity(intent);
}
}
});
}
public void ChangePackage(int Package) {
mPackage = Package;
ArrayList<String> arTitle = new ArrayList<String>();
for (Example e : arExample[mPackage]) {
arTitle.add(e.Title);
}
ArrayAdapter<String> Adapter;
Adapter = new ArrayAdapter<String>(this, R.layout.mainlist, arTitle);
mListActivity.setAdapter(Adapter);
final Context ctx = this;
mListActivity.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(ctx, arExample[mPackage][position].cls);
String str;
str = arTitle.getItem(position); <<<------요부분
intent.putExtra("TextIn", str);
이부분에서 리스트에서 선택한 값을 받고 싶은데 알려주세요
리스트에서 값을 받아 인텐드로 새로운 엑티비티에 넘기고 싶은데
이방법으로는 오류네요
startActivity(intent);
}
});
}
}
전 아이템 클래스를 배열로 관리하고.. position 에 해당하는 offset 의 클래스 멤버값을 가져왔습니다..