我有一个 ListView ,当它点击某个选项时,我希望它创建一个新的 Intent 。就像一个菜单项。这是我第一次使用 ListView ,所以我可能只是错过了执行此操作的正确方法,但是有没有简单的解决方法?
private void registerClickCallback() {
ListView list = (ListView) findViewById(R.id.mainlist);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View viewClicked, int position, long id) {
TextView textView = (TextView) viewClicked;
Toast.makeText(main.this, position, Toast.LENGTH_SHORT).show();
if(textView.getText().toString() == "my Profile"){
Intent intent = new Intent(this.getApplicationContext(), myProfile.class);
startActivity(intent);
}
}
});
cannot resolve method 'getapplicationcontext'
最佳答案
你不能使用 this.getApplicationContext()
因为你在 new AdapterView.OnItemClickListener()
里面,this
没有那个方法。
您应该创建一个包含应用程序上下文的类字段并使用它,或者按照@codeMagic 的建议使用viewClicked.getContext()
。
此外,正如您可能已经在评论中看到的那样,您应该使用 .equals
进行字符串比较。 ==
运算符是不够的。
关于android - 单击回调后的新 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36781989/