2017-05-10 5 views
0

목록보기를 작성하고 문자열 배열로 채우기 위해 ArrayAdapter로 트리보기를 사용하고 싶습니다. 이것은 내 코드입니다.ListView에 문자열 배열을 추가하는 방법 BaseAdapter?

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    String str[]={"A","S","S","P","S","S","P","Bl","Ra","M","a","a","c","s","s","ds"}; 

     ArrayAdapter<String> ad=new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,str); 

     ListView lv= (ListView)findViewById(R.id.lv); 

lv.setAdapter(ad); 


    } 
} 

BaseAdapter가 ArrayAdapter의 수퍼 클래스이면 BaseAdapter와 동일한 프로그램을 만드는 방법이 궁금합니다.

+0

이 확인 사용자 정의 어댑터 – Piyush

+1

이 무엇을 당신의'ArrayAdapter'가 잘 작동하는지에 대한? – pskink

+0

코드가 정상적으로 작동하는 이유는 무엇입니까? – Denny

답변

1

이 같은 BaseAdapter을 구현해야 :

public class CustomAdapter extends BaseAdapter { 

private String[] data; 

public CustomAdapter(String[] data) { 
    this.data = data; 
} 

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

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

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

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 

    LayoutInflater li = (LayoutInflater) convertView.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    View view = li.inflate(android.R.layout.simple_list_item_1, null);//set layout for displaying items 
    TextView txt = (TextView) view.findViewById(android.R.id.text1);//get id for Text view 
    txt.setText(data[position]); 
    return view; 
} 
} 
+0

Thanx Buddy !!!!!!!!! 고마워요. – Ankit