0

我在 MainActivity 中调用的另一个 java 文件中有一个类。我需要在外部类中增加一些布局。我遇到的问题是指定上下文,因为当我尝试扩展布局时,我得到一个空指针异常。该类没有它自己的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) 

第二

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 回答
0

Activity从那Context意味着你只需要LayoutInflater inflater = LayoutInflater.from(this);在你的onCreate()方法中。

于 2013-07-02T15:20:47.247 回答