2012-10-25 2 views
1

난 게으른 어댑터와 XML 파서를 가지고, 나는 모든 데이터를 목록보기로 구문 분석합니다.문자열 배열에 listview

지금 나는 모든 데이터를 listivew (wiche는 1 행당 1 텍스트 뷰)에 넣고 싶습니다. 그리고 문자열 배열 을 넣었습니다.하지만 어떻게해야하는지 잘 모르겠습니다. 왜냐하면 나는 Google에서만 목록을 채우기 위해 배열 및 문자열 사용 방법에 대한 결과를 얻습니다.

내 파서 :

TextView txt =(TextView)vi.findViewById(R.id.tv); 
HashMap<String, String> song = new HashMap<String, String>(); 
song = data.get(position);  
txt.setText(song.get(MainActivity.KEY_TXT)); 

내가 (지금까지) 내 문자열 배열을 얻기 위해 사용하는 방법 : 사전에

private String[] txt = { 

} 

감사합니다.

+0

내가 질문을 오해 할 수 있지만 수 없습니다 당신을 간단하게하는 방법에 'ListView'의 어댑터를 사용하여 데이터를 가져 와서 문자열 배열에 넣으시겠습니까? 그 코드가있는'ListView' 행의'TextView'를 검색하지 않기를 바랍니다. – Luksprog

답변

1

listView 어댑터의 getView() 메소드에서 문자열 배열을 사용해야합니다. -

strArray의 크기를 listView의 크기와 같게 지정합니다.

String strArray[] = new String[<size of Your ListView>]; 

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


    TextView textView; 
    if (convertView == null) { 

     convertView = inflater.inflate(R.layout.listitem, parent, false); 
     textView = (TextView) convertView 
       .findViewById(R.id.textView); 
    } 
    strArray[position] = textView.getText().toString(); 
    return convertView; 
} 

지금 유는 정적 만들기 위해 다음 다른 클래스에이주기 위해 StrArray을하거나 당신이 사용하고자하거나이 .like intent 통해 다른 클래스에이를 전달할 수 : - 다음

Bundle b=new Bundle(); 
b.putStringArray(key, new String[]{value1, value2}); 
Intent i=new Intent(context, Class); 
i.putExtras(b); 

과 당신이 문자열 배열을 전달하려는 누구에게 클래스 (즉의 경우

Bundle b=this.getIntent().getExtras(); 
String[] array=b.getStringArray(key); 

와 -를 : 다른 activity class에이 코드를 넣어이 String 배열을 얻어야한다 trArray)는 Activity은 다음과 같이 당신의주기 위해 StrArray 정적해야되지 않습니다 :

public static strArray[]; 

지금 내가 문제가 해결 될 것이라고 생각

..

+0

strArray에 오류가 발생했습니다. 거기에 무엇을 기입해야합니까? –

+0

미안하지만 ... 제발 이해가 안 돼요 –

+0

다른 클래스의 문자열 배열 오순절 모든 txt를 사용해야하고 어떻게해야할지 모르겠습니까? –

관련 문제