2012-03-24 7 views
0

写真とサマリー(アイテムリストのテキストの下にあるテキスト)を使ってリストを作成するには、どのようにアイテムを説明するのが難しいのですか?サマリーでリストの活動を作ろう

私のコードは画像とともにリストを作成します。サマリーを追加するにはどうしたらいいですか?

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" > 

<ImageView 
    android:id="@+id/icon" 
    android:layout_width="22px" 
    android:layout_height="22px" 
    android:layout_marginLeft="4px" 
    android:layout_marginRight="10px" 
    android:layout_marginTop="4px" 
    android:src="@drawable/ic_launcher" > 
</ImageView> 

<TextView 
    android:id="@+id/label" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="@+id/label" 
    android:textSize="20px" > 
</TextView> 

</LinearLayout> 

Activityクラス:

public class MyListActivity extends ListActivity { 
    public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 
     String[] values = new String[] { "Android", "iPhone", "WindowsMobile", 
      "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X", 
      "Linux", "OS/2" }; 
     // Use your own layout 
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, 
     R.layout.rowlayout, R.id.label, values); 
     setListAdapter(adapter); 
    } 

    @Override 
    protected void onListItemClick(ListView l, View v, int position, long id) { 
     String item = (String) getListAdapter().getItem(position); 
     Toast.makeText(this, item + " selected", Toast.LENGTH_LONG).show(); 
    } 
} 

答えて

1

ためのリンクです。

インターネットでは、あなたにそれを教えるための多くの良いチュートリアルが見つかりました。ここで

は一例です: http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/

あなたのケースへの唯一の違いは、画像がテキストの左側にあり、あなたがトップ:)にそれをしたいということです。

リストに常に同じ内容が含まれている場合、その内容をすでに知っているアダプターを作成することができます。それ以外の場合は、リストに含めるコンテンツの種類を保持するクラスを作成する必要があります。あなたのコンテンツは静的であるようですので、私はあなたに従うべきいくつかの行を提案します。

主に、あなたのアダプタを作成する必要があります。

private class MyAdapter extends ArrayAdapter { 

    private String[] values = new String[] { "Android", "iPhone", "WindowsMobile", 
     "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X", 
     "Linux", "OS/2" }; 

    private int[] myImagesSaved = new Int[] { R.drawable.image1, 
               R.drawable.image2, ... } 

    public MyAdapter (Context context, int textViewResourceId) { 
     super(context, textViewResourceId, values); 
    } 

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

     if (v == null) { 
      LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      v = vi.inflate(R.layout.row, null); 
     }    

     TextView text = (TextView) v.findViewById(R.id.icon); 
     ImageView image = (TextView) v.findViewById(R.id.label); 

     if (text != null) 
      text.setText(values[position]);       } 

     if(image != null) 
      image.setBackgroundResource(myImagesSaved[position]); 

     return v; 
    } 
} 
+0

私は自分のコードにとどまっているので、要約の方法は何か教えてください。ありがとうございます – user1257040

+0

要約の方法?それはどういう意味ですか?あなたの問題に適応したいなら、MyListActivityでxmlとほぼ同じコードを使うことができます。アダプターとgetView(int position、View convertView、ViewGroup parent)を作成するだけです。私はそれで私の答えを完了しようとします。 –

+0

要約=項目の下に小さな説明があり、別のテキスト表示に似ています。 – user1257040

1

あなたはリストビューをカスタマイズしたい場合は、カスタムアダプタを作成する必要があり、リストビュー のカスタムアダプタを作成します。 ArrayAdapter、BaseAdapter、CusrsorAdapterなどのアダプタがいくつかあります。 カスタムアダプタを作成するには、クラスのアダプタクラスを拡張してメソッドをオーバーライドします。ここで

はあなたがcostumレイアウトでcostumのリストビューを作成できるカスタムアダプタ http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/

+2

は私があなたをdownvoteしないでください。あなたはこれが十分な品質の答えではないことを知っています。 –

+0

あなたは私にチュートリアルを与えたり、要約に私に方法を教えてもらえますか? – user1257040

+0

@BorisStrandjev私の答えが – Dharmendra