我有一个列表视图,当它点击某个选项时,我希望它创建一个新的意图。像一个菜单项。这是我第一次使用列表视图,所以我可能只是错过了正确的方法,但有一个简单的解决方法吗?
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);
}
}
});
无法解析方法'getapplicationcontext'
答案 0 :(得分:2)
您不能使用this.getApplicationContext()
,因为您在new AdapterView.OnItemClickListener()
内,this
没有这种方法。
您应该创建一个包含应用程序上下文的类字段并使用它,或者使用@codeMagic建议的viewClicked.getContext()
。
此外,正如您在评论中可能已阅读过的那样,您应该使用.equals
进行字符串比较。 ==
运算符是不够的。
答案 1 :(得分:0)
尝试 -
Intent intent = new Intent(MainActivity.this, myProfile.class);
startActivity(intent);
MainActivity
是您实施onItemClick()
的活动。
您应该用活动名称替换它。