私はモバイル開発の世界で初めてです。私は現在、頭字語を検索して、それが何を意味するのかを知るアプリケーションを作成しようとしています。それが存在しない場合、ライブラリの略語。これを行うために、私はHashMapを使用しようとしていました。私は、アプリケーションを開いたときに毎回HashMapの新しいインスタンスを作成し、いくつかの値を事前に定義する必要があることに気付きました。私はthis answerで与えられた勧告に従っていましたが、開かれるたびに私のアプリケーションがクラッシュするようになりました。AndroidアプリケーションでHashMapにアプリケーションをクラッシュさせる原因となる
また、トラブルシューティングを試みる過程で、私のstartActivityが機能しなくなりました。 startActivityにカーソルを置いて「コンストラクタを解釈できません」というメッセージが表示されます。「Intent(com.private.CSRenA.acronymlookup.Search、java.lang.Class)」というように、「startActivity(android.content.Intent)」メソッドを解決できません。今ではすべてのJavaファイルが機能しなくなりました。ここで
が私のコードです:あなたができる場合
package com.private.CSRenA.acronymlookup;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.EditText;
import java.util.HashMap;
public class Search extends AppCompatActivity {
public EditText mEdit;
public HashMap<String,String> acros = new HashMap<String,String>(){{
//add all currently known thingies.
acros.put("ASAP","As Soon As Possible");
}};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
mEdit = (EditText)findViewById(R.id.acroterm);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setImageResource(R.drawable.ic_search);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(acros.containsKey(mEdit.getText().toString())){
startActivity(new Intent(Search.this, ValidAcronym.class));
}
else{
startActivity(new Intent(Search.this, InvalidAcronym.class));
}
}
});
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
public HashMap<String,String> getMap(){
return acros;
}
public void addAcro(String i, String s) {
if(!acros.containsKey(i)){
acros.put(i,s);
}
else{
startActivity(new Intent(Search.this, AlreadyExists.class));
}
}
}
助けてください!私が間違っていることで私は完全に失われています。
注:自分の身元と職業を保護するためにパッケージ名が変更されています。
注意を修正する必要があります:私はすべての同様の質問を読んでいると回答のどれも助けることができませんでした。 – CSRenA