Android查找ListView实例,由View中的Class创建

时间:2015-07-04 04:46:48

标签: android listview android-viewpager instances

我必须创建一个报告应用程序,其中使用合适的报告格式,适配器用于在视图寻呼机适配器中动态生成报告布局。

 switch (index) {
    case 0:
        return new sfg();
    case 1:
        return  new Report1("1STREPORT");
    case 2:
        return new Report1("2NDREPORT");
    case 3:
        return new Report1("3RDREPORT");
    case 4:
        // Movies fragment activity
        return new Report1("4THREPORT");
    case 5:
        return new Report1("5THREPORT");
    case 6:
        return new Report1("Numbers");
    case 7:
        return new report2("6THREPORT");
    default:
        return  null;
}

在Report1布局页面中包含两个东西,一个是Button,另一个是List View。

所有报告同时显示。

单击Button时,我必须更改ListView项。我试过这个:

public void btn_DetailedReport_Show(View view) {

    FragmentActivity myActivity= (FragmentActivity)(view.getContext());

    ListView lst1  = (ListView) view.findViewById(R.id.lst_abc);  // lst_abc is the list box Name

但是lst1无法调用此ListView。我也尝试使用Tag,如一个例子所示。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

如果你想访问片段中的listView,那么就应该这样做......

在你的onCreateView

View rootView = inflater.inflate(R.layout.fragment_name, container, false);
ListView lst1 = (ListView)rootView.findViewById(R.id.lst_abc);
return rootView;

您可以将ListView对象声明为全局变量,然后就可以访问它了。

这背后的原因是你没有在你正在查看按钮视图的片段上查看listView。