android - 尝试从另一个布局获取视图时出现空指针异常

时间:2014-06-13 08:16:49

标签: android view

我在MainActivity活动中使用布局main2:

setContentView(R.layout.main2);

现在我想从另一个名为“row_in_list_test”的布局中查看“btnDisplay”。

我做了:

LinearLayout row_in_list_tests = (LinearLayout) findViewById(R.id.row_in_list_tests);

btnDisplay = (Button) row_in_list_tests.findViewById(R.id.btnDisplay); //null pointer exception

btnDisplay.setOnClickListener(new OnClickListener() { ..

但在runTime中我得到“空指针异常”。

当我以这种方式获得btnDisplay时:

btnDisplay = (Button) findViewById(R.id.btnDisplay);

它工作正常但后来我在下一行得到“空指针异常”:

btnDisplay.setOnClickListener(new OnClickListener() { .. /null pointer exception

这样做的方法是什么? (我不需要夸大“row_in_list_test”,它只是ArrayAdapter0的布局

2 个答案:

答案 0 :(得分:0)

您只能获取在以下位置定义的布局视图:setContentView()。

因此,必须有其他活动使用此方法来创建上下文:

 setContentView(R.layout.row_in_list_tests);

现在,您可以使用其他活动的上下文访问此布局:

 btnDisplay = (Button) context.findViewById(R.id.btnDisplay);

如何获取其他活动的上下文是另一个问题,解决了here

答案 1 :(得分:0)

试试这个:

bthDisplay.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {



            }
        });