我有两个Fragments
。一个Fragment
包含问题而其他Fragment
包含答案。例如如果一个人点击问题(8)这意味着你可以说Item
否8,那么它应该转到下一个活动并突出显示该问题的答案(8)。我被卡住了。我将非常感谢你。
以下是一些代码,它们向下一个活动发送问题编号或列出项目编号,下一个活动代码收到此问题编号,我将其保存到Interger
“a”。现在哪种类型的IF条件可以在Next Activity中起作用?
第一项活动
lst.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
int index = position + 1;
Intent it = new Intent(this.getActivity(), NextActivity.class);
it.putExtra("Qlist", index);
startActivity(it);
}
下一个活动
Intent it = getActivity().getIntent();
int a = it.getIntExtra("Qlist", 0);
String result=String.valueOf(a);
Toast.makeText(getActivity(), ""+a, Toast.LENGTH_LONG).show();
第一个活动的ListView适配器代码(使用SQlite)
DatabaseAccess db=DatabaseAccess.getInstance(getActivity().getApplicationContext());
List<String> lst;
db.open();
lst=db.getexamq();
db.close();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(ExamQ.this.getActivity(), android.R.layout.simple_list_item_1, lst);
lv.setAdapter(adapter);
下一个活动的ListView适配器代码(使用SQlite)
DatabaseAccess db=DatabaseAccess.getInstance(getActivity().getApplicationContext());
List<String> lst;
db.open();
lst=db.getexamq();
db.close();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(ExamA.this.getActivity(), android.R.layout.simple_list_item_1, lst);
lv.setAdapter(adapter);
答案 0 :(得分:0)
所有需要的代码很多写一些东西(一些代码),我们可以帮助ListViewAdapter以防它不起作用
编辑:快速自定义适配器代码示例
lv.setAdapter(new ArrayAdapter(ExamQ.this.getActivity(), android.R.layout.simple_list_item_1, android.R.id.text1, lst){
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View v = convertView;
final String examQ = lst[position];
if (v == null) {
LayoutInflater vi = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(android.R.layout.simple_list_item_1, null);
}
TextView tv = (TextView) v.findViewById(android.R.id.text1);
tv.setText(examQ);
if( examQ.equals(result)) { // Unique identifier here
v.setBackground(Color.RED); //Some other fancy color here
}
return v;
}
});
然而,我刚发现您没有每个问题的唯一标识符。所以暂时只使用问题字符串并将其传递给下一个活动
答案 1 :(得分:0)
假设您在第二个片段的列表视图中有每个答案的文本视图。然后你可以比较第二个片段中listview适配器的getView()
中的问题id。现在,当您找到答案时,请致电textview.setBackgroundColor()
。
编辑:
在lv.setAdapter (adapter);
添加
View v = lv.getViewAt(a);
if(v!=null)
v.setBackgroundColor (Color.RED);