1

遅延アダプターを備えた xml パーサーがあり、すべてのデータを解析してリスト ビューにします。

今、私はlistivew(行ごとに1つのテキストビューです)からすべてのデータを取得したいと思います。私がグーグルなら、リストを作成するための文字列配列の使用方法に関する結果しか得られないからです。

私のパーサー:

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 = {

}

前もって感謝します。

4

1 に答える 1

1

listView アダプタの getView() メソッドで文字列配列を使用するだけです。このような: -

listView のサイズと同じ strArray のサイズを指定します。

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 を他のクラスに使用したい場合は、静的にするか、これをintent.like 経由で他のクラスに渡すことができます:--

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

次に、他のactivity classコードでこの文字列配列を取得する必要があります:--

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

また、文字列配列 (strArray) を渡したいクラスがそうでないActivity場合は、次のように strArray を静的にする必要があります。

public static strArray[];

今、私はあなたの問題が解決されると思います..

于 2012-10-25T10:48:51.337 に答える