我有一个简单的应用程序来实现Activity
我正在实施list-view
onItemClickListener
,如下所示。但是,我需要在这个函数中创建一个Intent。
我怎样才能做到这一点?
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView <? > arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
Toast.makeText(getBaseContext(), "Click", Toast.LENGTH_LONG).show();
//need to create intent here to load view
Intent myintent = new Intent(this, MYclass.class);
// but this gives me error
myintent.putExtra("id", "test");
startActivity(myintent);
}
});
答案 0 :(得分:5)
你应该在发布之前进行一些搜索,我相信你可以找到很多例子 我认为你的问题是
Intent myintent = new Intent(this,MYclass.class);
将其更改为
Intent myintent = new Intent(YourCurrentActivityName.this,MYclass.class);
答案 1 :(得分:2)
将此行更改为
Intent myintent = new Intent(**YourCurrentActivity**.this,MYclass.class);
答案 2 :(得分:2)
你在一个匿名的内部类中,所以this
不会在这里使用,如下所示:
Intent myintent = new Intent(CurrentClassName.this,MYclass.class);
答案 3 :(得分:1)
new Intent()
将上下文作为第一个参数。在匿名OnItemClickListener中,'this'不表示上下文因此无法正常工作。尝试使用新的
Intent([ThisClass].this, MYclass.class);
答案 4 :(得分:1)
Use
Intent i = new Intent(YourClassName.this,MYclass.class);
startActivity(i);
OR
Intent i = new Intent(getApplicationContext(),MYclass.class);
startActivity(i);