2011-09-29 52 views
0

我在使用ListActivity時遇到了問題。如果我改變類從ListActivity擴展到活動它工作正常。但後來的麻煩是我將如何實現onListItemClick。這可能是我可能做的一些小錯誤,但我無法追蹤它。在ListActivity中使用ListView時出錯

public class Warehouse extends ListActivity { 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     System.out.println("Inside Warehouse"); 
     setContentView(R.layout.warehous); 

     LinearLayout linear = (LinearLayout) findViewById(R.id.linearfullview); 
     drawable = setBitMap(background_image); 
     linear.setBackgroundDrawable(drawable); 
    String[] names = new String[] { "Inventory Ageing", 
       "Inventory Carring Cost", "Inventory Turns" }; 


     LinearLayout linearList = (LinearLayout) findViewById(R.id.linearlist); 
     drawable = setBitMap(list_image); 
     linearList.setBackgroundDrawable(drawable); 
     this.setListAdapter(new ArrayAdapter<String>(this,R.layout.warehouse_list,names));   
     // ListView lv = getListView(); lv.setTextFilterEnabled(true); 

    } 

    public Drawable setBitMap(String imagename) { 
     Bitmap image = BitmapFactory.decodeStream(getClass() 
       .getResourceAsStream(("/com/image/" + imagename + ".png"))); 
     drawable = new BitmapDrawable(image); 
     return drawable; 
    } 

    protected void onListItemClick(ListView l, View v, int position, long id) { 
     super.onListItemClick(l, v, position, id); 
     Object o = this.getListAdapter().getItem(position); 
     String keyword = o.toString(); 

     } 
     } 
    } 

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="fill_parent" android:orientation="horizontal" 
    android:layout_width="fill_parent"> 
    <LinearLayout android:layout_width="fill_parent" 
     android:id="@+id/linearfullview" android:layout_height="400sp" 
     android:layout_alignParentTop="true" /> 

    <LinearLayout android:layout_width="wrap_content" 
     android:layout_height="180sp" android:layout_alignParentBottom="true" 
     android:layout_marginTop="20sp"> 


     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id = "@+id/linearlist" android:layout_height="wrap_content" android:layout_width="wrap_content" 
      android:paddingLeft="2dp" android:paddingRight="2dp" android:gravity="bottom" 
      android:layout_marginTop="30dp"> 
      <ListView android:id="@android:id/list" android:layout_width="100dip" android:layout_height="wrap_content"></ListView> 
      </LinearLayout> 

     <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:layout_height="wrap_content" android:layout_width="wrap_content" 
      android:paddingLeft="2dp" android:paddingRight="2dp" 
      android:paddingTop="4dp" android:gravity="bottom" 
      android:layout_marginTop="30dp"> 
      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_height="wrap_content" android:id="@+id/linearFirst" 
       android:layout_alignParentLeft="true" android:layout_width="wrap_content" 
       android:paddingLeft="2dp" android:paddingRight="2dp" 
       android:paddingTop="4dp" android:gravity="bottom" 
       android:layout_marginTop="30dp" android:visibility="invisible"> 
       <com.widget.WheelView 
        android:id="@+id/firstWheel" android:layout_height="wrap_content" 
        android:layout_width="100dp" /> 
      </LinearLayout> 
      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_height="wrap_content" android:id="@+id/linearSecond" 
       android:layout_width="wrap_content" android:paddingLeft="2dp" 
       android:paddingRight="2dp" android:layout_alignParentRight="true" 
       android:paddingTop="4dp" android:gravity="bottom" 
       android:layout_marginTop="30dp" android:visibility="invisible"> 
       <com.widget.WheelView 
        android:id="@+id/secondWheel" android:layout_height="wrap_content" 
        android:layout_width="100dp" /> 
      </LinearLayout> 
      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:layout_height="wrap_content" android:id="@+id/linearThird" 
       android:layout_width="wrap_content" android:paddingLeft="2dp" 
       android:paddingRight="2dp" android:paddingTop="4dp" android:gravity="bottom" 
       android:layout_marginTop="30dp" android:layout_alignParentLeft="true" 
       android:visibility="invisible"> 
       <com.widget.WheelView 
        android:id="@+id/thirdWheel" android:layout_height="wrap_content" 
        android:layout_width="200dp" /> 
      </LinearLayout> 
     </RelativeLayout> 
    </LinearLayout> 
</RelativeLayout> 

回答

0

如果要擴展ListActivity,那麼你必須採取一個ListView main.xml中有@+android:id/list

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

謝謝你的工作。 – neha

0

你可以使用

public class Warehouse extends Activity implements onListItemClick 

呢?

+0

不,這是不可能的。我也試圖實現這一點。 – neha

相關問題