私はリストビューを持っています。特定のオプションをクリックすると、新しいインテントを作成します。メニュー項目のように。これは私の初めてのリストビューでの作業ですので、これを行う正しい方法が欠落している可能性がありますが、簡単に修正できますか?クリックコールバック後の新しいインテント
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'
文字列を間違って比較しているようです。 '=='の代わりに '.equals()'を使うべきです。別の問題がある場合は、何が起きているのかを明確にする必要があります。 – codeMagic
@codeMagicこの質問は、文字列の比較とはほとんど関係がありません。「IF」は確かに修正する必要がありますが、実際の問題はエラー 'メソッドを解決できません' getApplicationContext() 'したがって質問は異なります.. imho – FredMaggiowski
@FredMaggiowskiうん、私はそれを逃した。私にピンを当てて指摘してくれてありがとう。私は再開する。ストリングの比較は次の問題となる可能性が最も高いです。代わりに 'viewClicked.getContext()'を使ってください。 – codeMagic