【发布时间】:2016-04-21 23:10:38
【问题描述】:
我有一个列表视图,当它单击某个选项时,我希望它创建一个新意图。就像一个菜单项。这是我第一次使用列表视图,所以我可能只是错过了正确的方法,但是有一个简单的解决方法吗?
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”
【问题讨论】:
-
看起来你在比较字符串错误。您应该使用
.equals()而不是==。如果还有其他问题,那么您需要更清楚到底发生了什么/没有发生什么 -
@codeMagic 这个问题与字符串比较没什么关系。
IF肯定需要修复,但实际问题是关于错误“无法解析方法 'getApplicationContext()' 因此问题不同..恕我直言 -
@FredMaggiowski 是的,我错过了。感谢您ping我并指出它。我会重新打开。字符串比较很可能是下一个问题。 Bahamit,请改用
viewClicked.getContext()。 -
没有问题 :) 是的,字符串比较必须修复
-
感谢大家的cmets!我已考虑您的意见,我的应用程序再次运行。但是,现在我遇到了一个新问题:java.lang.OutOfMemoryError: Failed to allocate a 108000012 byte allocation with 8388608 free bytes and 46MB until OOM...我内存不足。我是否必须关闭我以前的意图/活动?
标签: android listview android-intent onclick