程序是这样,两个按钮,按相应的按钮,listview显示相应的信息,通过单击item弹出对应的值。但是现在的情况是:点击“省信息中心”还是弹出“省局领导”。大家帮我看看代码如下:
public class MainActivity extends Activity implements OnCheckedChangeListener {
String condition;
ListView lw;
LinearLayout mainLinearLayout;
String[] feets=new String[]{
"省局领导",
"省局办公室",
"省局人事处",
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.jiguan);
mainLinearLayout = (LinearLayout)findViewById(R.id.list_jiguan);
lw = new ListView(this);
lw = (ListView)findViewById(R.id.lv_jiguan);
lw.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,feets));
lw.setOnItemClickListener(new OnItemClickListener() {//详细信息
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
condition=feets[arg2];
new AlertDialog.Builder(MainActivity.this)
.setTitle("关于")
.setMessage(condition) .show();
}
});
//切换按钮
SegmentedRadioGroup group = (SegmentedRadioGroup) findViewById(R.id.segment_text);
group.setOnCheckedChangeListener(this);
} @Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
//按下第一个按钮,和默认显示一样
case R.id.button_one:
String[] feets=new String[]{
"省局领导",
"省局办公室",
"省局人事处"
};
lw.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,feets));
break;
//按下第二个按钮,更换单位
case R.id.button_two:
feets=new String[]{
"省信息中心",
"省销售",
"省后勤"
};
lw.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,feets));
break; default:
break;
}
}
}
public class MainActivity extends Activity implements OnCheckedChangeListener {
String condition;
ListView lw;
LinearLayout mainLinearLayout;
String[] feets=new String[]{
"省局领导",
"省局办公室",
"省局人事处",
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.jiguan);
mainLinearLayout = (LinearLayout)findViewById(R.id.list_jiguan);
lw = new ListView(this);
lw = (ListView)findViewById(R.id.lv_jiguan);
lw.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,feets));
lw.setOnItemClickListener(new OnItemClickListener() {//详细信息
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
condition=feets[arg2];
new AlertDialog.Builder(MainActivity.this)
.setTitle("关于")
.setMessage(condition) .show();
}
});
//切换按钮
SegmentedRadioGroup group = (SegmentedRadioGroup) findViewById(R.id.segment_text);
group.setOnCheckedChangeListener(this);
} @Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
//按下第一个按钮,和默认显示一样
case R.id.button_one:
String[] feets=new String[]{
"省局领导",
"省局办公室",
"省局人事处"
};
lw.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,feets));
break;
//按下第二个按钮,更换单位
case R.id.button_two:
feets=new String[]{
"省信息中心",
"省销售",
"省后勤"
};
lw.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,feets));
break; default:
break;
}
}
}
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
condition=feets[arg2]; //和onCheckedChanged中的不是同一个
new AlertDialog.Builder(MainActivity.this)
.setTitle("关于")
.setMessage(condition) .show();
}
long arg3 不是一个东西
//按下第一个按钮,和默认显示一样
case R.id.button_one:
String[] feets=new String[]{
"省局领导",
"省局办公室",
"省局人事处"
};
lw.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,feets));
break;
//按下第二个按钮,更换单位
case R.id.button_two:
feets=new String[]{
"省信息中心",
"省销售",
"省后勤"
};
lw.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1,feets));
break; default:
break;
}
case R.id.button_two: 里的feets用的是 case R.id.button_one: 里面的对象而不是全局变量
你把1里面的String[]去掉,都用全局变量就可以了