我一直在做一個項目,我需要標記出席員工並將其存儲在數據庫中。爲此,我在收音機組中實施單選按鈕,以確定是否存在員工缺席或半天假......要做到這一點,我必須從列表視圖中獲得這些值,並點擊完成按鈕出席必須標記並存儲在數據庫中。從我的自定義列表視圖中處理這些數據的那些單選按鈕的值!! ??如何處理列表視圖上的單選按鈕值
我的自定義列表適配器代碼
public class CustomCalendarAdapter extends ArrayAdapter<String> {
private final Activity context;
private final String[] itemname;
private final Bitmap[] imgid;
public CustomCalendarAdapter(Activity context, String[] itemname, Bitmap[] imgid) {
super(context, R.layout.list_item2, itemname);
this.context=context;
this.itemname=itemname;
this.imgid=imgid;
}
@Nonnull
public View getView(int position, View view,@Nonnull ViewGroup parent) {
LayoutInflater inflater=context.getLayoutInflater();
View rowView=inflater.inflate(R.layout.list_item2, null,true);
TextView txtTitle = (TextView) rowView.findViewById(R.id.item);
ImageView imageView = (ImageView) rowView.findViewById(R.id.icon);
TextView extratxt = (TextView) rowView.findViewById(R.id.textView1);
final RadioButton rb1 = (RadioButton) rowView.findViewById(R.id.rb1);
final RadioButton rb2 = (RadioButton) rowView.findViewById(R.id.rb2);
final RadioButton rb3 = (RadioButton) rowView.findViewById(R.id.rb3);
rb2.setChecked(true);
txtTitle.setText(itemname[position]);
imageView.setImageBitmap(imgid[position]);
extratxt.setText("Description "+itemname[position]);
return rowView;
} }
我的列表視圖XML代碼
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/icon"
android:layout_width="80dp"
android:layout_height="80dp"
android:background="@drawable/rowselector"
android:padding="5dp" />
<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="80dp"
android:layout_weight="1"
android:background="@drawable/rowselector"
android:orientation="vertical">
<TextView
android:id="@+id/item"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_marginLeft="10dp"
android:layout_marginTop="15dp"
android:padding="2dp"
android:textColor="#000" />
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TextView"
android:layout_marginLeft="10dp"/>
</LinearLayout>
<RadioGroup
android:id="@+id/rg"
android:orientation="horizontal"
android:layout_marginTop="25dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<RadioButton
android:id="@+id/rb1"
android:text="P"
android:padding="2dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<RadioButton
android:id="@+id/rb2"
android:text="A"
android:padding="2dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<RadioButton
android:id="@+id/rb3"
android:text="HD"
android:padding="2dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RadioGroup>
我與列表視圖活動代碼中,我要顯示列表和處理DONE按鈕
public class Attendance extends AppCompatActivity {
CustomCalendarAdapter adapter;
ArrayList<String> strings = new ArrayList<>();
ArrayList<Bitmap> bitmaps = new ArrayList<>();
ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_attendance);
lv = (ListView) findViewById(R.id.list);
myinfodbhelper mDbHelper = new myinfodbhelper(this);
SQLiteDatabase db = mDbHelper.getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT * FROM "
+ myinfocontract.myinfoentry.TABLE_NAME,null);
while (cursor.moveToNext()) {
String currentfname = cursor.getString(cursor.getColumnIndex("name"));
byte[] bytes = cursor.getBlob(cursor.getColumnIndex("image"));
Bitmap bitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);
strings.add(currentfname);
bitmaps.add(bitmap);
}
cursor.close();
String[] itemname = strings.toArray(new String[0]);
Bitmap[] imageid = bitmaps.toArray(new Bitmap[0]);
adapter = new CustomCalendarAdapter(this, itemname, imageid);
lv.setAdapter(adapter);
lv.setEmptyView(tv);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.floatingActionButton);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//Here I want to handle the radio button check
//And mark done by the floatingActionButton id in my listview xml file
}
});
如果這個問題已經回答plz提供鏈接
我找不到相關的解決方案,我的問題,因此我問這個問題......必須做什麼修改?
THX提前...