2012-02-09 78 views
0

我想把兩個按鈕放在listView中。我可以在SimpleCursorAdapter listView中放置按鈕嗎?

public class Imenik extends ListActivity { 

@Override 
public long getSelectedItemId() { 
// TODO Auto-generated method stub 
return super.getSelectedItemId(); 
} 

@Override 
public int getSelectedItemPosition() { 
// TODO Auto-generated method stub 
return super.getSelectedItemPosition(); 
} 
ListView lv; 
Cursor Cursor1; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     //create a cursor to query the Contacts on the device to start populating a listview 
    Cursor1 = getContentResolver().query(
     ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
     null, 
     null, 
     null, 
     null); 
    startManagingCursor(Cursor1); 

     String[] from = { 
     ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME, 
     ContactsContract.CommonDataKinds.Phone.NUMBER, 
     ContactsContract.CommonDataKinds.Phone._ID}; // get the list items for the listadapter could be TITLE or URI 

int[] to = {android.R.id.text1, 
    android.R.id.text2}; //sets the items from above string to listview 

//new listadapter, created to use android checked template 
SimpleCursorAdapter listadapter = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_2, Cursor1, from, to); 
setListAdapter(listadapter); 

//adds listview so I can get data from it 
lv = getListView(); 
lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); 

} 

}

與此代碼我得到的所有聯繫人姓名和電話號碼,並把在列表中,但我想兩個按鈕,並在每行復選框,用戶可以單擊項目 - 標記複選框,然後單擊確認按鈕將這些值存入數組中。 幫助,謝謝你,狼。

回答

0

如果你不想讓customAdapter然後有兩件事情你做的按鈕手柄(它不會影響到onitemclick和onitemlongclik

  1. 在xml文件中只有機器人:可聚焦= 「假」在buttonview

    <?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
        android:id="@+id/LinearLayout1" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:orientation="vertical" > 
    
        <TextView 
         android:id="@+id/tv_name" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="TextView" 
         android:textColor="@android:color/black" /> 
    
        <TextView 
         android:id="@+id/tv_city" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="TextView" 
         android:textColor="@android:color/black" /> 
    
        <TextView 
         android:id="@+id/tv_phone" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:background="@drawable/button_selector1" 
         android:text="TextView" /> 
    
        <Button 
         android:id="@+id/bt_button" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="Button" 
         android:focusable="false"/> 
    

  2. 在簡單的遊標適配器

    私人無效showdataquery(){// TODO自動生成方法存根

    mhelper = new DAtahelper(this); 
        db = mhelper.getReadableDatabase(); 
    
        String columns[] = { "_id,name,city,phone" }; 
    
        Cursor c = db.query("vishal", columns, null, null, null, null, null); 
        c.moveToFirst(); 
    
        String[] from = { "name", "city", "phone" }; 
        int[] to = { R.id.tv_name, R.id.tv_city, R.id.tv_phone }; 
        SimpleCursorAdapter adapter = new SimpleCursorAdapter(
          getApplicationContext(), R.layout.showdata, c, from, to, 0) { 
    
         @Override 
         public View newView(Context context, Cursor cursor, ViewGroup parent) { 
          // TODO Auto-generated method stub 
          return super.newView(context, cursor, parent); 
         } 
    
         @Override 
         public View getView(int position, View convertView, ViewGroup parent) { 
          // TODO Auto-generated method stub 
    
    
          return super.getView(position, convertView, parent); 
         } 
    
         @Override 
         public void bindView(View view, Context context, Cursor cursor) { 
          // TODO Auto-generated method stub 
          final int row_id = cursor.getInt(cursor.getColumnIndex("_id")); // 
    
    
          Button button = (Button) view.findViewById(R.id.bt_button); 
    
    
          button.setOnClickListener(new OnClickListener() { 
    
           @Override 
           public void onClick(View arg0) { 
            // TODO Auto-generated method stub 
            Log.i("button click","button"); 
           } 
          }); 
    
         } 
    
        }; 
    
        lv_database.setAdapter(adapter); 
    
    } 
    
    @Override 
    public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2, 
         long arg3) { 
        // TODO Auto-generated method stub 
        Log.e("", "long"); 
        return false; 
    } 
    
    @Override 
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
        // TODO Auto-generated method stub 
    
        Log.e("", "item"); 
    
    } 
    
相關問題