2015-09-29 52 views
0

你好,你好嗎? 我一直在嘗試使用ListView與單選按鈕。但是,我在單選按鈕處理方面遇到了一些問題。 無論如何,我的應用程序應該處理來自Mysql服務器的數據。其被從服務器檢索情況如下數據:在ListView中處理單選按鈕來自服務器的數據

B 0,

的C 1

d 1

Ë0

所以,可以看到我只有兩欄第一列是一個名字,第二列是一個數字(這個數字可以只有1或0沒有更多) 所以,我有c重新塑造了我的形狀來處理兩列作爲TEXT的。我沒有問題。但是,當我試圖使用單選按鈕。我已經開始發行了。 貝婁是我的佈局和我的課程。

外形佈局:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
android:orientation="horizontal" 
android:layout_height="match_parent"> 
<RadioGroup 
    android:layout_width="0dp" 
    android:layout_weight="4" 
    android:layout_height="50dp" 
    android:orientation="horizontal" 
    android:gravity="center" 
    android:id="@+id/CHOOSING_ABSENCE"> 
    <RadioButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/present"/> 
    <RadioButton 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/absence"/> 

      </RadioGroup> 

<TextView 
    android:paddingRight="10dp" 
    android:layout_width="0dp" 
    android:layout_weight="5" 
    android:gravity="center_vertical" 
    android:text="TEST" 
    android:textColor="@android:color/black" 
    android:id="@+id/Student_name" 
    android:layout_height="50dp" /> 
    </LinearLayout> 

我不認爲我在這裏有一個問題。

第二類是我的自定義類:

public class ListViewStudentEditAbsence { 
private String StudentName ; 
private String StudentID ; 
private int Absence ; 

public ListViewStudentEditAbsence(String StudentName, String StudentID, String Absence) 
{ 
    this.StudentName = StudentName ; 
    this.StudentID = StudentID; 
    if(Absence == "0") 
     this.Absence = 0 ; 
    else 
     this.Absence = 1 ; 

} 


public int getAbsence() { 
    return Absence; 
} 

public void setAbsence(int absence) { 
    Absence = absence; 
} 

public String getStudentID() { 
    return StudentID; 
} 

public void setStudentID(String studentID) { 
    StudentID = studentID; 
} 

public String getStudentName() { 
    return StudentName; 
} 


public void setStudentName(String studentName) 
{ 
    StudentName = studentName; 
} 
} 

我的適配器是爲以下幾點:

public class ListViewStudentEditAbsenceAdapter extends ArrayAdapter<ListViewStudentEditAbsence> 
    { 

private Context mContext; 
private ArrayList<ListViewStudentEditAbsence> mData; 


public ListViewStudentEditAbsenceAdapter (Context mContext, ArrayList<ListViewStudentEditAbsence> mData) { 
    super(mContext, R.layout.student_name_editing, mData); 
    this.mContext = mContext; 
    this.mData = new ArrayList<ListViewStudentEditAbsence>(); 
    this.mData.addAll(mData); 
} 

@Override 
public int getCount() { 
    return mData.size(); 
} 

@Override 
public long getItemId(int position) { 
    return position; 
} 

@Override 
public View getView(final int position, View convertView, ViewGroup parent) 
{ 
    if (convertView == null) { 
     LayoutInflater mInflater = (LayoutInflater) 
       mContext.getSystemService(Activity.LAYOUT_INFLATER_SERVICE); 
     convertView = mInflater.inflate(R.layout.student_name_editing, null); 
    } 
    TextView Name = (TextView) convertView.findViewById(R.id.Student_name); 
    Name.setText(mData.get(position).getStudentName()); 
/* 
    RadioGroup Absence = (RadioGroup) convertView.findViewById(R.id.CHOOSING_ABSENCE); 
    Absence.setText(mData.get(position).getAbsence()); 
    */ 
    return convertView; 
} 
} 

正如你可以看到我犯處理的單選按鈕,因爲我沒能解決這問題。

我希望你能幫助

+0

究竟是什麼問題? –

+0

無線電組有兩個單選按鈕。一個是0,另一個是1.我怎樣才能做到這一點取決於檢索到的數據?事實上,當我運行該應用程序時,收音機組不關注任何一個單選按鈕 – ama989

+0

您希望在值爲1時檢查單選按鈕並且在值爲0時取消選中?這是你想要的嗎? –

回答

1

變化

if(Absence == "0") 
    this.Absence = 0 ; 
else 
    this.Absence = 1 ; 

if(Absence.equals("0")) 
    this.Absence = 0 ; 
else 
    this.Absence = 1 ; 

RadioGroup Absence = (RadioGroup) convertView.findViewById(R.id.CHOOSING_ABSENCE); 
Absence.setText(mData.get(position).getAbsence()); 

RadioGroup Absence = (RadioGroup) convertView.findViewById(R.id.CHOOSING_ABSENCE); 
if((mData.get(position).getAbsence() == 1)) 
Absence.check(R.id.present); 
else 
Absence.check(R.id.absence); 
+0

謝謝。如果你不介意我問一個問題? – ama989

+0

你確定你可以問 –

+0

在這一點上,我們已經讀取了數據。如果我想使用相同的單選按鈕寫數據。你有問題嗎? – ama989