2014-07-23 108 views
0

我想在應用程序中創建自定義列表視圖... 但我不明白爲什麼我的代碼有問題運行它 當我運行我的應用程序時...顯示消息爲「應用程序停止」 .. 我很困惑.. 幫我解決這個 謝謝 java代碼:Android中的自定義ListView

public class MainActivity extends Activity { 



@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    ListView list=(ListView) findViewById(R.id.listView1); 
    Myadapter adapter=new Myadapter(getApplicationContext()); 
    list.setAdapter(adapter); 

} 

public class Myadapter extends BaseAdapter 
{ 
    LayoutInflater myInflater; 
    public Myadapter(Context context) { 
     myInflater=LayoutInflater.from(context); 
     // TODO Auto-generated constructor stub 
    } 



    @Override 
    public int getCount() { 
     // TODO Auto-generated method stub 
     return (4); 
    } 

    @Override 
    public Object getItem(int position) { 
     // TODO Auto-generated method stub 
     return position; 
    } 

    @Override 
    public long getItemId(int position) { 
     // TODO Auto-generated method stub 
     return position; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     ViewHolder Holder; 

     if(convertView==null) 
     { 
      Holder=new ViewHolder(); 
      convertView=myInflater.inflate(R.layout.item_layout, null); 
      Holder.star=(ImageButton) convertView.findViewById(R.id.imageButton_star); 
      Holder.vorod=(Button) convertView.findViewById(R.id.button_voro); 
      Holder.url=(TextView) convertView.findViewById(R.id.text_addres); 
      Holder.vorod=(Button)convertView.findViewById(R.id.imageButton_star); 
      Holder.rank=(ImageButton) convertView.findViewById(R.id.imageButton_rank); 
      Holder.speed=(ImageButton) convertView.findViewById(R.id.imageView_speed); 
      Holder.delete=(ImageButton) convertView.findViewById(R.id.imageButton_delete); 
      convertView.setTag(Holder); 



     } 
     else 
      Holder=(ViewHolder) convertView.getTag(); 



     // TODO Auto-generated method stub 
     return convertView; 
    } 



} 

public class ViewHolder 
{ 
    ImageButton star; 
    Button vorod; 
    TextView url; 
    ImageButton rank; 
    ImageButton speed; 
    ImageButton detail; 
    ImageButton delete; 

} 

} 

XML代碼:(項目列表視圖)

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:padding="30dp" 
android:background="@drawable/image001" 
android:orientation="vertical" > 

<ImageButton 
    android:id="@+id/imageButton_star" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="30dp" 
    android:background="@drawable/round" 
    android:src="@drawable/star1" 
/> 
<Button 
    android:id="@+id/button_voro" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_above="@+id/text_addres" 
    android:background="@drawable/corner_round" 
    android:text="button" /> 
<TextView 
    android:id="@+id/text_addres" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:padding="9dp" 

    android:layout_margin="30dp" 
    android:layout_centerInParent="true" 
    android:text="Large Text" 
    android:textAppearance="?android:attr/textAppearanceLarge" /> 



<LinearLayout 
    android:id="@+id/linearLayout1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginBottom="30dp" 
    android:background="@drawable/olgo" 
    android:orientation="horizontal" > 

    <ImageButton 
     android:id="@+id/imageView_speed" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/round" 
     android:layout_margin="5dp" 
     android:layout_weight="1" 
     android:src="@drawable/speed" /> 



    <ImageButton 
     android:id="@+id/imageButton_dataile" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/round" 
     android:layout_margin="5dp" 
     android:layout_weight="1" 
     android:src="@drawable/dataile" /> 

    <ImageButton 
     android:id="@+id/imageButton_rank" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/round" 
     android:layout_margin="5dp" 
     android:layout_weight="1" 

     android:src="@drawable/ranke" /> 
    <ImageButton 
     android:id="@+id/imageButton_delete" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:background="@drawable/round" 
     android:layout_margin="5dp" 
     android:layout_weight="1" 
     android:src="@drawable/delete" /> 

</LinearLayout> 

和主要XML:有一個ListView

+2

POST錯誤日誌。 – VenomVendor

+1

https://stackoverflow.com/questions/23353173/uncomfort-myapp-has-stopped-how-can-i-solve-this – CommonsWare

+0

是的請發佈日誌貓它死的地方。可能是一個空指針異常 – erik

回答

0

你有這樣的代碼:

Holder.star=(ImageButton) convertView.findViewById(R.id.imageButton_star); 

,但你有沒有與ID imageButton_star一個Button在XML文件中。

您inilizating Holder.vorod兩次
刪除

Holder.vorod=(Button)convertView.findViewById(R.id.imageButton_star); 
+0

我有一個按鈕id id imageButton_star在我的xml文件.. – behroooz

+0

@ behroooz我沒有看到它在你的上面的xml文件。它是ImageButton。 –

+0

@behroooz你有'ImageButton',ID爲'imageButton_star',避免盲目複製粘貼。 – VenomVendor