1

リストビューのサブアイテムとして文字列の配列にデータを表示したいと思います。

どうすれば正確にできますか?

4

3 に答える 3

0

これはあなたが達成しようとしていることですか?

これは、フラグメントを使用するapからの私のコードの一部です。1つのフラグメントはリストフラグメントです。

import android.widget.ArrayAdapter;
import android.widget.ListView;

public class Category List extends ListFragment {

final static String[] CATEGORIES = {"String1","String2",
    "String3","String4"};

@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(getActivity(),
        android.R.layout.simple_list_item_activated_1,
        CATEGORIES));

それが役に立てば幸い。

于 2013-01-20T17:23:21.243 に答える
0

Adapterクラスを作成する必要があります。解決策は次のとおりです。まず、次のようにMainActivityクラスにプライベートクラスを作成します。

private class Adapter extends BaseAdapter
{
    ArrayList<String> list;
    public Adapter(ArrayList<String> list)
    {
        this.list=list;
    }
    @Override
    public int getCount() 
    {
        return list.size();
    }
    @Override
    public String getItem(int index) 
    {
        return list.get(index);
    }
    @Override
    public long getItemId(int arg0) 
    {
        return 0;
    }
    @Override
    public View getView(int index, View view, ViewGroup arg2) 
    {
        TextView tv_text = new TextView(MainActivity.this);
        tv_text.setText(list.get(index));
        tv_text.setGravity(Gravity.CENTER_HORIZONTAL|Gravity.CENTER_VERTICAL);
        @SuppressWarnings("deprecation")
        AbsListView.LayoutParams params = 
                new AbsListView.LayoutParams(AbsListView.LayoutParams.FILL_PARENT,
                        AbsListView.LayoutParams.FILL_PARENT);
        tv_text.setLayoutParams(params);
        tv_text.setHeight(60);
        tv_text.setTextSize(18);
        return tv_text;
    }       
}

ArrayList<String>次に、文字列を次の場所に配置する必要があります。

ArrayList<String> list = new ArrayList<String>();
for(int i=0;i<yourArray.length(); i++) list.add(yourArray[i]);

その後、Adapterクラスのインスタンスを作成する必要があります。

Adapter adapter = new Adapter(list);

次に、アダプタを次のメインアダプタとして設定する必要がありますListView

ListView lv_list = (ListView)findViewById(R.id.listView1);
lv.setAdapter(adapter);

D

于 2013-01-20T18:19:57.233 に答える
0

Android 開発サイトから API デモをダウンロードするか、SDK マネージャーを開いてSamples、現在の SDK をダウンロードしたことを確認してください。

次に、samples フォルダーに移動して、 を見てくださいexpandable lists。完全に機能する例がいくつかあります。

私の WinXP コンプでは、ファイルは次の場所にあります。

C:\Program Files\Android\android-sdk\samples\android-16\ApiDemos\src\com\example\android\apis\viewexpandable lists.jar次に、ファイルを探します

于 2013-01-20T18:08:53.130 に答える