努力找到最佳办法,与安康一道解决下列问题。
我的数据来自内容提供者,其形式是一系列问题。 问题物体有一些文字和背书。 每个问题有4个答案,将回复到问题答复物体的其余服务器。
如同在某个时候要展示的问题一样(用户读懂问题,选择答案,然后打上新屏幕上下个问题的“顶点”,但我在登记内容观察员时,需要这样做(因为服务器上的问题可能发生变化,而服务器在内容提供者中更新)。 内容提供者储存的数据的变化应当随着情况的变化更新屏幕上的问题。
我猜测,我需要的是像简单的CursorAdaptor这样的东西,但认为不是一种清单,而是需要一种观点,即需要完全筛选出治疗者指出的一行。 我试图使我自己的适应者屈服,但 as不.地 next下。 这里是我的适应者。
public class QuestionAdapter implements Adapter {
public ArrayList<Question> questions = new ArrayList<Question>();
private Context context ;
public QuestionAdapter(ArrayList<Question> questions, Context context)
{
this.questions.clear();
this.questions.addAll(questions);
this.context = context;
}
public void updateQuestions(ArrayList<Question> questions)
{
questions.clear();
questions.addAll(questions);
}
@Override
public int getCount() {
return questions.size();
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return questions.get(arg0);
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return Long.parseLong(questions.get(arg0).get_id());
}
@Override
public int getItemViewType(int arg0) {
// TODO Auto-generated method stub
return IGNORE_ITEM_VIEW_TYPE;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View questionView = inflater.inflate(R.layout.question, parent);
return questionView;
}
@Override
public int getViewTypeCount() {
return 1;
}
@Override
public boolean hasStableIds() {
// TODO Auto-generated method stub
return true;
}
@Override
public boolean isEmpty() {
// TODO Auto-generated method stub
return questions.isEmpty();
}
@Override
public void registerDataSetObserver(DataSetObserver arg0) {
// TODO Auto-generated method stub
}
@Override
public void unregisterDataSetObserver(DataSetObserver arg0) {
// TODO Auto-generated method stub
}
}
这里我的看法是xml。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/questionText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp"
android:layout_weight="0.27"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="20dp" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<ToggleButton
android:id="@+id/passButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOn="Pass"
android:textOff="Pass" />
<ToggleButton
android:id="@+id/advisoryButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOn="Advisory"
android:textOff="Advisory" />
<ToggleButton
android:id="@+id/defectButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOn="Defect"
android:textOff="Defect"/>
<ToggleButton
android:id="@+id/naButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textOn="N/A"
android:textOff="N/A" />
</TableRow>
</TableLayout>
<Button
android:id="@+id/next"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="Next..." />
</LinearLayout>