마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 리스트뷰 체크박스 관련

0 추천

 AndroidFragment.java

package com.example.menunav;

import java.util.ArrayList;

import android.app.Fragment;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;

public class AndroidFragment extends Fragment {
 ListView lv1;
 EditText et1;
 String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
   "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X", "Linux",
   "OS/2" };
 private ArrayList<String> array_sort = new ArrayList<String>();
 int textlength = 0;

 @Override
 public View onCreateView(LayoutInflater inflater, ViewGroup container,
   Bundle savedInstanceState) {
  if (container == null) {
   return null;
  }
  View view = inflater.inflate(R.layout.firstfrag, container, false);
  lv1 = (ListView) view.findViewById(R.id.list);
  et1 = (EditText) view.findViewById(R.id.edit);
  lv1.setAdapter(new ArrayAdapter<String>(
    getActivity(), android.R.layout.simple_list_item_multiple_choice, values));

  return view;
 }
 public void onStart() {
  super.onStart();
  /** Setting the multiselect choice mode for the listview */
  lv1.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
 }
}

firstfrag.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/LinearLayout01"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/edit"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="Search" >
    </EditText>

    <ListView
        android:id="@+id/list"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
    </ListView>
    
    <CheckBox
        android:id="@+id/Checkbox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:focusable="false" />

</LinearLayout>

 저렇게 왼쪽에 붙어있어서 클릭하기도 힘들고 보기도 이상해요.. 왜 왼쪽에 붙어있는건가요?

익명사용자 님이 2013년 9월 27일 질문
소스를 봐서는 리스트 뷰에 설정한 어레이아답터 만드실 때 android.R.layout.simple~~~ 이거 사용하신거 같은데

제가 알기로는 해당 레이아웃은 오른쪽 그림처럼 나올텐데... 뭔가 이상하네요.

2개의 답변

0 추천
 
채택된 답변
  1. CheckedTextView 를 쓴거라면 width 를 match_parent 로 하세요
  2. 1번이 아니라면 inflate 한 xml 을 올리세요
aucd29 (218,390 포인트) 님이 2013년 9월 27일 답변
감사합니다 match_parent 로 해결햇어요
프레그먼트 공부하면서 오래걸리다보니 xml 정렬쪽 생각을 못했네요..
0 추천
android:layout_gravity 옵션에서 center나 원하는 정렬값으로 주시면 될것 같습니다.
kaiser38 (330 포인트) 님이 2013년 9월 27일 답변
...