我做了一个主要活动来调用像这样的新活动
public class Main extends ActionBarActivity implements AdapterView.OnItemClickListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout);
String[] item = getResources().getStringArray(R.array.main_list);
ListView list = (ListView) findViewById(R.id.list);
list.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, item));
list.setOnItemClickListener(this);
}
public void onItemClick(AdapterView<?> parent, View v, int pos, long id){
Intent intent = null;
switch (pos){
case 0 : intent = new Intent(getBaseContext(), a.class); break;
case 1 : intent = new Intent(getBaseContext(), b.class); break;
case 2 : intent = new Intent(getBaseContext(), c.class); break;
default: intent = null;
}
if(intent != null) startActivity(intent);
}
}
我成功地召集了一项名为'a'的新活动。
但是,当我尝试从'a'调用另一个新活动时,我在Main中使用相同的代码失败了。 有什么问题?
的A.class
public class a extends ActionBarActivity implements AdapterView.OnItemClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout);
String[] item = getResources().getStringArray(R.array.a_list);
ListView list = (ListView) findViewById(R.id.alist);
list.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, item));
list.setOnItemClickListener(this);
}
public void onItemClick(AdapterView<?> parent, View v, int pos, long id){
Intent intent = null;
switch (pos){
case 0 : intent = new Intent(getBaseContext(), aa.class); break;
case 1 : intent = new Intent(getBaseContext(), ab.class); break;
case 2 : intent = new Intent(getBaseContext(), ac.class); break;
default: intent = null;
}
if(intent != null) startActivity(intent);
}
}
具体来说,应用程序启动后,单击列表中的“a”会崩溃
答案 0 :(得分:0)
您正在同一个目标对象上调用活动。而不是为不同的类创建不同的对象。像
这样的东西case 0: Intent i1=new Intent(source, destination);
startActivity(i1);
break;
case 1: Intent i2=new Intent(source,destination);
startActivity(i2);
break;
etc..........
或者为不同的类创建不同的对象 a,b和c的一个意图对象。 和aa,ab和ac的第二个对象。