【问题标题】:Android Find ListView instance which is created by Class in View PagerAndroid查找由View Pager中的Class创建的ListView实例
【发布时间】:2015-07-04 04:46:48
【问题描述】:

我必须创建一个报告应用程序,其中报告格式健全,适配器用于在视图分页适配器中动态生成报告布局。

 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。

同时显示所有报告。

单击按钮时,我必须更改 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。

我该如何解决这个问题?

【问题讨论】:

    标签: android listview android-viewpager instances


    【解决方案1】:

    如果你想在片段中访问 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,而是在按钮视图中查看。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-22
      • 2015-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多