2012-03-08 10 views
0

データをグリッドビューに表示するために、次のように記述しました。これは私のコードの手順です。 onCreateでAndroid、どのようにgridviewを駆動するには?

()

ONSTARTで次に
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_newslist); 
// Initializing NewsAdapter in order to loading the list of NEWS items 
    newsAdapter = new NewsAdapter(this); 
// Initializing grid view to show news 
     gridView = (GridView) findViewById(R.id.news_gridview); 
     gridView.setAdapter(newsAdapter); 
     gridView.setOnItemClickListener(new OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View v, int position, long id) { 
       Toast.makeText(NewsList.this, "" + position, Toast.LENGTH_SHORT).show(); 
      } 
     }); 

()私は、それを解析し、サーバーからXMLデータを取得しますし、最終的に解析されたデータが「parsedList」に保存されます(100%は、私はチアのデータを持っています私はlogcatでそれを見たので変数)。

@Override 
    protected void onStart() { 
     super.onStart(); 
     String strNewsContent = "***"; 

     ... 

     newsAdapter.setData(parsedList); 
     newsAdapter.notifyDataSetChanged(); 
    } 

最後に、これは私の "NewsAdapter" です:

public class NewsAdapter extends BaseAdapter { 

    private LayoutInflater myInflater; 
    private NewsFeedItemList itemList; 


    public NewsAdapter(Context c) { 
     myInflater = LayoutInflater.from(c); 
    } 

    public void setData(NewsFeedItemList newsFeedItemList){ 
     itemList = newsFeedItemList; 

     Log.i("NewsAdapter", "Parsed list passed to the adapter."); 
    } 

    @Override 
    public int getCount() { 
     return 0; 
    } 

    @Override 
    public Object getItem(int position) { 
     return position; 
    } 

    @Override 
    public long getItemId(int position) { 
     return position; 
    } 

    public View getView(int position, View convertView, ViewGroup parent){ 
     ViewHolder holder; 

     if (convertView == null) { 
      convertView = myInflater.inflate(R.layout.grid_news, null); 
      holder = new ViewHolder(); 
      holder.ivIcon = (TextView) convertView.findViewById(R.id.news_icon); 
      holder.tvLabel = (TextView) convertView.findViewById(R.id.news_label); 

      convertView.setTag(holder); 
     } else { 
      holder = (ViewHolder) convertView.getTag(); 
     } 

     holder.ivIcon.setText(itemList.getImage().get(position)); 
     holder.tvLabel.setText(itemList.getTitle().get(position)); 

     Log.i("Position is>>>>:", Integer.toString(position)); 

     return convertView; 
    } 

    static class ViewHolder { 
     TextView ivIcon; 
     TextView tvLabel; 
    } 

} 

"grid_news" の形式は、私は結果を見ることができない理由はわかりません。この

<?xml version="1.0" encoding="utf-8"?> 

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" > 

    <TextView 
     android:id="@+id/news_icon" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:contentDescription="@string/menu_contentdescription" 
     android:layout_centerHorizontal="true" /> 

    <TextView 
     android:id="@+id/news_label" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:textColor="#ffffff" 
     android:textSize="15sp" 
     android:textStyle="bold" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:paddingBottom="10dip" /> 

</RelativeLayout> 

のようなものです私のエミュレータ/デバイスで! 誰かが私を助けることができれば、私はとても感謝しています。

答えて

2

私はそれが0を返すgetCount()のためだと思います。それはitemList.size()ですか?ニュースNewsAdapterで

+0

ヤップ、正確に正しい。あなたは2時間後にそれをやった。ありがとうございました。 – Hesam

関連する問題