如何在listView的列表项上单击其他活动

时间:2015-10-26 07:20:02

标签: android

我正在尝试在单击列表视图的列表项时打开其他活动,并将单击的列表项的数据显示在新活动上。但是我能够获取列表项的数据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();
            }
        }
    });

2 个答案:

答案 0 :(得分:2)

实际上我发现了我自己的问题实际上问题出在DataDisplayer类中。所以这是唯一的问题。 MainActivity没有问题。 我正在使用onCreate方法如下:

public void onCreate(Bundle savedInstanceState,PersistableBundle persistentState){         super.onCreate(savedInstanceState,persistentState);     }

答案 1 :(得分:0)

您在内部班级,因此您必须按以下方式调用startactivity:

MainActivity.this.startActivityforresult(intent,reqcode);