0

MainActivity で呼び出している別の Java ファイルにクラスがあります。外部クラスでいくつかのレイアウトを膨らませる必要があります。私が抱えている問題は、コンテキストを指定することです。レイアウトを膨らませようとすると、Null Pointer Exception が発生するためです。クラスには独自のonCreate()メソッドがないため、MainActivity からコンテキストを渡す必要がありますか? どうすればいいのかわからない。これは私を引き起こしていますNullPointerException

Context context = getApplicationContext();
LayoutInflater inflater = (LayoutInflater)context.getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);;

NullPointerExceptionContext文脈上:

public class CameraListener extends Activity implements OnCameraChangeListener {

    private static final int SCALE_HEIGHT = 50;
    GoogleMap mMap;
    GoogleC3iActivity mParent;


    Context context = getApplicationContext();
4

2 に答える 2

2

複数の問題

初め

Context context = getApplicationContext();
LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

getApplicationContext() は既にあるので必要ありません。

または(クレジット:@Delyan)

LayoutInflater.from(context) 

2番

Context context = getApplicationContext();前に動作しませんsetContentView。したがって、呼び出した後、コンテキストを初期化する必要がありsetContentViewますonCreate

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.home);
    context = getApplicationContext() ;

についてもLayoutInflater同様です。onCreate

于 2013-07-02T15:11:40.340 に答える