出现了两个问题:
①BaseAdapter被执行了九次。
②明明已经设置了setChecked(true),但是初始化的时候却没有激活!public class MainActivity extends Activity { private Button b1;
private ListView list;
private int[] to={android.R.id.text1,android.R.id.text2};
private int on_off=1,alarm=1;
private String data="sdfaffaf",time="sdfaffaf",content="sdfaffaf";
private TextView data01,data02,time01,time02,content01,content02;
private CheckedTextView check01,check02;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
System.out.println("");
b1=(Button)findViewById(R.id.button);
b1.setText("dianji");
final AlertDialog.Builder bu=new AlertDialog.Builder(this);
b1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
View v1=getLayoutInflater().inflate(R.layout.list, null);
list=(ListView)v1.findViewById(R.id.listview01);
list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
list.setAdapter(new myadapter());
bu.setView(v1);
bu.show();
}
});
}
class myadapter extends BaseAdapter{
private String[] strs={"是否开启","日期","时间","内容","开启闹钟"};
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View v=getLayoutInflater().inflate(R.layout.row, null);
switch (position) {
case 0:check01=(CheckedTextView)getLayoutInflater().inflate(android.R.layout.simple_list_item_multiple_choice, null);
check01.setText(strs[position]);
if(on_off==1){
System.out.println(position);
System.out.println("on_off******************"+on_off);
check01.setChecked(true);
}else{
check01.setChecked(false);
System.out.println("on_off******************"+on_off);
}
return check01;
case 1:
data01=(TextView)v.findViewById(R.id.text01);
data02=(TextView)v.findViewById(R.id.text02);
data01.setText(strs[position]);
data02.setText(data);
System.out.println(data);System.out.println(position);
return v;
case 2:
time01=(TextView)v.findViewById(R.id.text01);
time02=(TextView)v.findViewById(R.id.text02);
time01.setText(strs[position]);
time02.setText(time);
System.out.println(time);System.out.println(position);
return v;
case 3:
content01=(TextView)v.findViewById(R.id.text01);
content02=(TextView)v.findViewById(R.id.text02);
content01.setText(strs[position]);
content02.setText(content);
System.out.println(content);System.out.println(position);
return v;
case 4:
check02=(CheckedTextView)getLayoutInflater().inflate(android.R.layout.simple_list_item_multiple_choice, null);
check02.setText(strs[position]);
if(alarm==1){
System.out.println("alarm***********"+alarm);System.out.println(position);
check02.setChecked(true);
}else{
check02.setChecked(false);
System.out.println("alarm***********"+alarm);System.out.println(position);
}
return check02; }
return null;
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
public int getCount() {
// TODO Auto-generated method stub
return strs.length;
}
}
}
①BaseAdapter被执行了九次。
②明明已经设置了setChecked(true),但是初始化的时候却没有激活!public class MainActivity extends Activity { private Button b1;
private ListView list;
private int[] to={android.R.id.text1,android.R.id.text2};
private int on_off=1,alarm=1;
private String data="sdfaffaf",time="sdfaffaf",content="sdfaffaf";
private TextView data01,data02,time01,time02,content01,content02;
private CheckedTextView check01,check02;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
System.out.println("");
b1=(Button)findViewById(R.id.button);
b1.setText("dianji");
final AlertDialog.Builder bu=new AlertDialog.Builder(this);
b1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
View v1=getLayoutInflater().inflate(R.layout.list, null);
list=(ListView)v1.findViewById(R.id.listview01);
list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
list.setAdapter(new myadapter());
bu.setView(v1);
bu.show();
}
});
}
class myadapter extends BaseAdapter{
private String[] strs={"是否开启","日期","时间","内容","开启闹钟"};
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View v=getLayoutInflater().inflate(R.layout.row, null);
switch (position) {
case 0:check01=(CheckedTextView)getLayoutInflater().inflate(android.R.layout.simple_list_item_multiple_choice, null);
check01.setText(strs[position]);
if(on_off==1){
System.out.println(position);
System.out.println("on_off******************"+on_off);
check01.setChecked(true);
}else{
check01.setChecked(false);
System.out.println("on_off******************"+on_off);
}
return check01;
case 1:
data01=(TextView)v.findViewById(R.id.text01);
data02=(TextView)v.findViewById(R.id.text02);
data01.setText(strs[position]);
data02.setText(data);
System.out.println(data);System.out.println(position);
return v;
case 2:
time01=(TextView)v.findViewById(R.id.text01);
time02=(TextView)v.findViewById(R.id.text02);
time01.setText(strs[position]);
time02.setText(time);
System.out.println(time);System.out.println(position);
return v;
case 3:
content01=(TextView)v.findViewById(R.id.text01);
content02=(TextView)v.findViewById(R.id.text02);
content01.setText(strs[position]);
content02.setText(content);
System.out.println(content);System.out.println(position);
return v;
case 4:
check02=(CheckedTextView)getLayoutInflater().inflate(android.R.layout.simple_list_item_multiple_choice, null);
check02.setText(strs[position]);
if(alarm==1){
System.out.println("alarm***********"+alarm);System.out.println(position);
check02.setChecked(true);
}else{
check02.setChecked(false);
System.out.println("alarm***********"+alarm);System.out.println(position);
}
return check02; }
return null;
}
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
public int getCount() {
// TODO Auto-generated method stub
return strs.length;
}
}
}
解决方案 »
- 通话界面用距离感应器,关闭和打开屏幕是怎么实现的?
- ANDROID_SWT报错
- Handler的post()和handleMessage()方法的疑惑
- android手机无法调用pc机上的webservice
- 用Android sdk 中的模拟器,为什么我改了内存还是不变?
- Android探讨群 62553058
- 在android中怎么自定义查询方法
- 【土豪速成秘笈】成为土豪的N种办法
- 深度定制的linux,不输于android(视频为证)
- Android图片上传到服务器的问题
- Android应用开发,ListView滚动条和页面滚动条的冲突问题,棘手
- findPreference总返回空值。。。。小弟在此先感谢各位高手。。。几个小时了一直搞不出来
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView
android:id="@+id/listview01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:cacheColorHint="#ffffffff"
android:background="#ffffffff"
>
</ListView>
</RelativeLayout>xml里面很简单啊、我就没贴出来