我正在尝试在单击列表视图的列表项时打开其他活动,并将单击的列表项的数据显示在新活动上。但是我能够获取列表项的数据onclick但是当我使用startAcitvity(intent)方法开始新活动时,只有一个空白活动正在打开,并且在调试时我得到的信息是startActivity()是未定义。请帮我解决这个问题。 我的代码在这里:
public class MainActivity extends AppCompatActivity {
ListView lvDetail;
Intent intent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lvDetail = (ListView) findViewById(R.id.list);
new ProgressTask(MainActivity.this).execute();
lvDetail.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
try {
intent = new Intent(MainActivity.this, DataDisplayer.class);
Employee e = (Employee) parent.getItemAtPosition(position);
ArrayList<String> el = new ArrayList<String>();
el.add(String.valueOf(e.getId()));
el.add(e.getName());
el.add(String.valueOf(e.getAge()));
el.add(String.valueOf(e.getSalary()));
Bundle bundle = new Bundle();
bundle.putStringArrayList("emp", el);
intent.putExtras(bundle);
//intent.putStringArrayListExtra("emp", el);
startActivityForResult(intent, 187);
} catch (Exception er) {
er.printStackTrace();
}
}
});
答案 0 :(得分:2)
实际上我发现了我自己的问题实际上问题出在DataDisplayer类中。所以这是唯一的问题。 MainActivity没有问题。 我正在使用onCreate方法如下:
public void onCreate(Bundle savedInstanceState,PersistableBundle persistentState){ super.onCreate(savedInstanceState,persistentState); }
答案 1 :(得分:0)
您在内部班级,因此您必须按以下方式调用startactivity:
MainActivity.this.startActivityforresult(intent,reqcode);