2011-07-06 7 views
1

実際には私はcustomListviewを作成しました、ここで私は動的に項目を追加したいのですが、私の場合、最初の項目は問題で挿入されましたが、2番目の項目を挿入しようとしました。 code..ifの誰もが...それを提案してくださいmain.javaリストビューの問題

のためのListView.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
android:id="@+id/relativeLayout1" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:padding="5dip" 
android:background="#00000000"> 
<TextView 
    android:textSize="18dp" 
    android:layout_height="wrap_content" 
    android:textColor="#000000" 
    android:background="@drawable/history_scroll_title_label_bg" 
    android:layout_width="wrap_content" 
    android:id="@+id/txtHistoryDisplay" 
    android:layout_below="@+id/txtViewHeading" 
    android:layout_marginTop="0dip" 
    android:layout_marginLeft="2dip"> 
</TextView> 

</RelativeLayout> 

コードのmain.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
android:id="@+id/relativeLayout1" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
xmlns:android="http://schemas.android.com/apk/res/android"> 

<ListView 
android:layout_height="wrap_content" 
android:layout_width="match_parent" 
android:id="@+id/historyFrmLstView2" 
android:layout_alignParentLeft="true" 
android:layout_below="@+id/historyFrmLstView1" 
android:layout_marginTop="20dip" 
android:layout_marginBottom="10dip"> 
</ListView> 

</RelativeLayout> 

コードの

コードを知っています

public void displayHistory() 
{ 
    String strDisplay[] = {" "}; 
    historyFrmLstView2 = (ListView) findViewById(R.id.historyFrmLstView2); 
    int iHistCount = CycleManager.getSingletonObject().getHistoryCount(); 
    int i; 
    SimpleDateFormat sdFormatter = new SimpleDateFormat("dd-MMMM-yyyy"); 

    for (i=0; i<iHistCount; i++) 
    { 
      strDisplay[i] = ""; 

      Date dtHist = CycleManager.getSingletonObject().getHistoryDate(iHistCount); 

      strDisplay[i]=sdFormatter.format(dtHist.getTime()); 

      aHistFrmAdpter2 = new HistoryFrmCustomAdapter2(this,strDisplay); 
      historyFrmLstView2.setAdapter(aHistFrmAdpter2); 
    } 
} 

カスタムAdapter.java

public class HistoryFrmCustomAdapter2 extends BaseAdapter 
{ 

public String heading1[]; 
public Activity context; 
public LayoutInflater inflater; 

public HistoryFrmCustomAdapter2(Activity context,String[] heading1) 
{ 
    super(); 
    this.context = context; 
    this.heading1=heading1; 
    this.inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
} 
public int getCount() 
{ 
    return heading1.length; 
} 

public Object getItem(int position) 
{ 
    return null; 
} 
public long getItemId(int position) 
{ 
    return 0; 
} 
public static class ViewHolder 
{ 
    TextView txtHistoryDisplay; 
} 
public View getView(int position, View convertView, ViewGroup parent) 
{ 
    ViewHolder holder; 

    if(convertView==null) 
    { 
     holder = new ViewHolder(); 
     convertView = inflater.inflate(R.layout.histryfrm_listview2, null); 

     holder.txtHistoryDisplay =(TextView) convertView.findViewById(R.id.txtHistoryDisplay); 

     convertView.setTag(holder); 
    } 
    else 
     holder=(ViewHolder)convertView.getTag(); 
    holder.txtHistoryDisplay.setText(heading1[position]); 
    return convertView; 
} 
} 
+0

どのようなエラーが出ていますか? –

+0

エラーは何ですか? – Sarmad

+0

葉、それはあなたがWindowsプラットフォームを使用している場合..アンドロイドSDKのplatform_toolsディレクトリから近いエラー – AndroidDev

答えて

0

のコードこんにちは、私はあなたの文字列配列strDisplay [iHistCountに一つだけの要素が存在します

public void displayHistory() 
{ 
    String strDisplay[] = {" "}; 
    historyFrmLstView2 = (ListView) findViewById(R.id.historyFrmLstView2); 
    int iHistCount = CycleManager.getSingletonObject().getHistoryCount(); 
    int i; 
    SimpleDateFormat sdFormatter = new SimpleDateFormat("dd-MMMM-yyyy"); 

    for (i=0; i<iHistCount; i++) 
    { 
      strDisplay[i] = ""; 

      Date dtHist = CycleManager.getSingletonObject().getHistoryDate(iHistCount); 

      strDisplay[i]=sdFormatter.format(dtHist.getTime()); 


    } 

    aHistFrmAdpter2 = new HistoryFrmCustomAdapter2(this,strDisplay); 
    historyFrmLstView2.setAdapter(aHistFrmAdpter2); 
} 
+0

いいえその同じエラーが動作していない.. "停止したアプリ" – AndroidDev

+0

あなたはエラーのlogcatを投稿できますか? – Nikhil

+0

実際にデバイスで実行中にエラーが発生しました。最初の日付を追加すると完全に動作しますが、2番目の日付を追加するとエラーが発生します.. "アプリケーションは無期限に停止しました" – AndroidDev

0

...それはコードの下に使用することができると思います]。あなたは毎回最後の位置に価値を置いているからです。 iHistCountをiに置き換えます。

+0

yehその私は..コード内のミスを間違っている – AndroidDev

関連する問題