안드로이드 개발 질문/답변
(글 수 45,052)
ArrayAdapter 를 확장하지 않고 GridView를 만들었는데 onItemSelected 콜백 메소드에서
textView.setText(item[position]); 적용이 안됩니다. 책에선 OnItemSelectedListener 구현해서 했는데..왜안될까요.
public class GridTestActivity extends Activity implements OnItemSelectedListener {
String [] item = {"asd","asd","rfwf"};
TextView textView ;
GridView gridView ;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textView = (TextView) findViewById(R.id.txt);
gridView = (GridView) findViewById(R.id.GridView01);
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, item);
gridView.setAdapter(adapter);
gridView.setOnItemSelectedListener(this);
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
textView.setText(item[position]);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub
textView.setText("");
}
}
xml파일
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/txt"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"/>
<GridView
android:id="@+id/GridView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numColumns="auto_fit" />
</LinearLayout>