검색결과 리스트
글
Android 입문자를 위한 Tutorial - 5. ArrayList
Mobile Programming/Android
2010. 11. 4. 14:14
arrayList를 확장하여 이용하는 뷰가 참 많이 있다.
먼저 가장 많이 사용하는 "리스트뷰", 말 그대로 여러정보를 리스트를 뿌려주듯이 뿌려줄 수 있다.
adapter를 이용하기 위해서 먼저 ArrayList를 만들고 ,
ArrayListItems; ArrayAdapter Adapter; ListView list; Items = new ArrayList (); Items.add("First"); Items.add("Second"); Items.add("Third");
Array Adapter를 만들어줘야한다.
Adapter = new ArrayAdapter(this, android.R.layout. simple_list_item_multiple_choice, Items);
그 뒤에 listview에 연결시켜주면 된다.
list.setAdapter(Adapter); list.setChoiceMode(ListView.CHOICE_MODE_SINGLE);.
다음으로 스피너는
팝업창을 통해서 리스트 뷰를 띄워주는 형태라고 생각하면 될 것 같다.
다음은 스피너를 이용하는 소스이다.
package geng.mm.jnu; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.RatingBar; import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast; import android.widget.AdapterView.OnItemSelectedListener; public class fruitrating extends Activity { /** Called when the activity is first created. */ ArrayAdapter;adspin; RatingBar mRating; TextView mRateText; String fruit; float rate; //채워넣을 곳// public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fruitrating); mRating = (RatingBar)findViewById(R.id.ratingbar); mRateText = (TextView)findViewById(R.id.ratetext); Spinner spin = (Spinner)findViewById(R.id.myspinner); spin.setPrompt("과일을 고르세요."); adspin = ArrayAdapter.createFromResource(this, R.array.fruits, android.R.layout.simple_spinner_item); adspin.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spin.setAdapter(adspin); spin.setOnItemSelectedListener(new OnItemSelectedListener() { public void onItemSelected(AdapterView parent, View view, int position, long id) { //채워넣을 곳// fruit = (String) adspin.getItem(position); } public void onNothingSelected(AdapterView parent) { } }); mRating.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() { public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { mRateText.setText("Now Rate : " + rating); rate = rating; //채워넣을 곳// String tmp ; if(rate<1){ tmp = "나빠"; }else if(rate < 2.5) tmp = "괜찮아"; else if(rate<3.9) tmp = "좋아!"; else tmp = "완전좋아~!!"; Toast.makeText(fruitrating.this, fruit + "는 "+ tmp , Toast.LENGTH_SHORT).show(); } }); } }
<string-array name="fruits">
<item>사과</item>
<item>감</item>
</string-array>
와 같이 xml에 넣어주었다.
rating chanaged 메서드와 , itemselected 메서드로 변화를 감지해서 클릭된 스피너의 아이템을 알아내고 그에 따라 토스트를 출력한다.
'Mobile Programming > Android' 카테고리의 다른 글
Android 입문자를 위한 Tutorial - 7. 탭뷰의 이용 (0) | 2010.11.10 |
---|---|
Android 입문자를 위한 Tutorial - 6. 커스텀 위젯 (0) | 2010.11.09 |
Android 입문자를 위한 Tutorial - 4. 라디오 버튼 (2) | 2010.10.21 |
Android 입문자를 위한 Tutorial - 3. Layout (0) | 2010.09.28 |
Android 입문자를 위한 Tutorial - 2. Hello Android! (0) | 2010.09.28 |