Android ListView适配器和ArrayAdapter

Android ListView适配器和ArrayAdapter,android,string,listview,android-arrayadapter,listadapter,Android,String,Listview,Android Arrayadapter,Listadapter,首先,我是一个编程高手,我想做一些事情,比如当用户选择Clear_data(清除数据)时,让他/她执行清除数据活动 我遇到了try-and-catch的问题,因为我仍然有点迷失在常规编程中。当我测试它时,我选择了第一个选项,即文本颜色,它打开了清除数据活动,而不是文本颜色 代码如下: public class Settings extends ListActivity { String classes[] = { "Text_Colour", "Clear_data", "Contact D

首先,我是一个编程高手,我想做一些事情,比如当用户选择Clear_data(清除数据)时,让他/她执行清除数据活动

我遇到了try-and-catch的问题,因为我仍然有点迷失在常规编程中。当我测试它时,我选择了第一个选项,即文本颜色,它打开了清除数据活动,而不是文本颜色

代码如下:

public class Settings extends ListActivity {


String classes[] = { "Text_Colour", "Clear_data", "Contact Developer" };


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setListAdapter(new ArrayAdapter<String>(Settings.this, android.R.layout.simple_list_item_1, classes));
}

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    super.onListItemClick(l, v, position, id);

    String colours = classes[0];
    String cdata = classes[1];

    try {
    Class Class1 = Class.forName("com.example.test1." + colours);
    Intent intent1 = new Intent(Settings.this, Class1);
    startActivity(intent1);
    }catch(ClassNotFoundException e) {
        e.printStackTrace();
    }
    try {
    Class Class2 = Class.forName("com.example.test1." + cdata);
    Intent intent2 = new Intent(Settings.this, Class2);
    startActivity(intent2);
    } 
    catch(ClassNotFoundException d) {
        d.printStackTrace();
    }   

}
公共类设置扩展ListActivity{
字符串类[]={“文本颜色”、“清除数据”、“联系开发人员”};
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setListAdapter(新的ArrayAdapter(Settings.this,android.R.layout.simple_list_item_1,classes));
}
@凌驾
受保护的void onListItemClick(列表视图l、视图v、整数位置、长id){
//TODO自动生成的方法存根
super.onListItemClick(左、右、位置、id);
字符串颜色=类别[0];
字符串cdata=classes[1];
试一试{
Class Class1=Class.forName(“com.example.test1.”+colors);
意向意向1=新意向(Settings.this,Class1);
星触觉(intent1);
}catch(classnotfounde异常){
e、 printStackTrace();
}
试一试{
Class Class2=Class.forName(“com.example.test1.+cdata”);
意向意向2=新意向(Settings.this,Class2);
星触觉(intent2);
} 
捕获(ClassNotFoundException d){
d、 printStackTrace();
}   
}

感谢各位抽出时间。

您可能需要添加一个如下的交换机操作员:

@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
    // TODO Auto-generated method stub
    super.onListItemClick(l, v, position, id);

    String colours = classes[0];
    String cdata = classes[1];

switch(position){
case 0:
    try {
    Class Class1 = Class.forName("com.example.test1." + colours);
    Intent intent1 = new Intent(Settings.this, Class1);
    startActivity(intent1);
    }catch(ClassNotFoundException e) {
        e.printStackTrace();
    }
break;
case 1:
    try {
    Class Class2 = Class.forName("com.example.test1." + cdata);
    Intent intent2 = new Intent(Settings.this, Class2);
    startActivity(intent2);
    } 
    catch(ClassNotFoundException d) {
        d.printStackTrace();
    }   
break;
}

}

@Ket不客气。如果答案有帮助,请接受;)