2011-09-30 32 views
0

可能重複:
Can I have a List view and images icon with textview on the Android如何在每行中使用ImageView和TextView製作Android ListView?

如何使在每行的ImageView和TextView的一款Android的ListView?

我正在開發一個Android應用程序,該應用程序將擁有一個帶有ListView的屏幕,並且它需要在每行上都有一個ImageView和一個TextView ......有人可以幫助我解決一些線索和示例

+0

[Android Developer Resources](http://developer.android.com/resources/index.html) –

回答

0

總之,你應該使用ListActivity。您將可以爲每一行設置佈局xml。

看看這個 tutorial:

你需要做的是一樣的,但適應它除了擁有一個TextView的ImageView的。

4

你將需要教你的ListAdapter如何做到這一點。如果這是ArrayAdapter,則可以通過繼承它並重寫getView()。您可以設計自己的自定義行並使用這些行,並在行加載時填充ImageViewTextView的數據。

Here is a free excerptone of my books經過該過程。 Here is the source code適用於該章中介紹的示例項目。

0

如上所述,您需要擴展適配器並將其用於ListActivity。使用TextView和ImageView製作XML文件(使用LinearLayout或任何其他佈局)。您可以將ID添加到TextView和ImageView,以便可以根據列表中的位置更改它們。

這是一個代碼示例,它創建三行並將它們中的文本設置爲a,b,c。

public class MyActivity extends ListActivity { 

    private String[] data = {"a","b","c"}; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setListAdapter(new MyAdapter(this, R.layout.rowxml, data)); 
    } 

    private class MyAdapter extends ArrayAdapter<String> { 

     public MyAdapter(Context c, int i, String[] s) { 
      super(c, i, s); 
     } 

     @Override 
     public View getView(int position, View v, ViewGroup parent) { 
      if (v == null) { 
       LayoutInflater vi = (LayoutInflater)getSystemService(
        Context.LAYOUT_INFLATER_SERVICE); 
       v = vi.inflate(R.layout.rowxml, null); 
      } 

      TextView tw = (TextView) v.findViewById(R.id.text); 
      if (tw != null) tw.setText(data[position]); 

      // You can do something similar with the ImageView 

      return v; 
     } 
    } 
} 
相關問題