아래와 같이 XML에는 적당한 위치에 기본 ListView를 넣어준다.

        <ListView
            android:id="@+id/listView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:divider="@color/white"/>

android:divider 속성은 리스트뷰의 리스트 사이의 경계선인데 하얀색으로 해서 안보이게 했다.

 

ListView에 들어갈 XML을 만든다.

넣을 내용에 맞게 LinearLayout 등을 사용해서 반복되는 아이템 레이아웃을 만든다.

 

이후 액티비티 클래스에서 리스트뷰에 넣을 기능 작업 간단한 예시

Adapter를 따로 클래스파일을 만들어서 작업해도 된다.

public class MyActivity extends AppCompatActivity {

    private ListView listView;

    // 답변 값 리스트
    private String[] answerValues = new String[9];

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.myactivity);

        listView = findViewById(R.id.listView);

        Mydapder myAdapder = new MyAdapder(this);
        listView.setAdapter(myAdapder);
    }

    public class MyAdapder extends BaseAdapter{
        private Context mcontext;
        private LayoutInflater inflater;
		// 질문 리스트
        private String[] questions = getResources().getStringArray(R.array.QuestionArray);
        
        public PHQ9Adapder(Context context){
            this.mcontext = context;
            this.inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        }

        @Override
        public int getCount() {
            return questions.length;
        }

        @Override
        public Object getItem(int position) {
            return questions[position];
        }

        @Override
        public long getItemId(int position) {
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View view = convertView;
            // 레이아웃 정의
            view = inflater.inflate(R.layout.mylistview, parent,false);
            
            // item 객체 생성
            TextView question = view.findViewById(R.id.question);
            ImageView img = view.findViewById(R.id.myimg);
            Button mybtn = view.findViewById(R.id.mybtn);

			// 이 부분에서 기능, 리스트에 적용할 문구 등을 설정한다.
            question.setText(questions[position]);
            img.setImageResource("들어갈 이미지");
            mybtn.setOnClickListener("버튼 클릭시 이벤트");
           				
            return view;
        }

    }
}

복붙하면 에러 신명나게 생기니 조심하세요.

'개발공부 > Android-Java' 카테고리의 다른 글

Android :: SharedPreferences  (0) 2022.07.06

+ Recent posts