【问题标题】:vertical list view with horizontal scroll view android带有水平滚动视图android的垂直列表视图
【发布时间】:2013-01-24 05:49:11
【问题描述】:

我正在尝试使用水平滚动视图实现列表视图。设置列表视图适配器时出现 logcat 错误“空指针异常”。我的列表视图应该显示在夏洛克片段中

public class Trending extends SherlockFragment

{
List<String> list;
    ListView prog_list;


// Array of integers points to images stored in /res/drawable-ldpi/
public View onCreateView(LayoutInflater inflater, ViewGroup container,
           Bundle savedInstanceState) 
{
          View myFragmentView = inflater.inflate(R.layout.trendslay, container,false);       
          prog_list = (ListView)myFragmentView.findViewById(R.id.lv1);
          return prog_list;
         }


/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);

    list = new ArrayList<String>();
    list.add("hi");
    list.add("hello");
    list.add("how r u");
    list.add("hi");
    list.add("hello");
    list.add("how r u");
    list.add("hi");
    list.add("hello");
    list.add("how r u");

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
              android.R.layout.simple_list_item_1, android.R.id.text1,list);
    prog_list.setAdapter(adapter);


    }

【问题讨论】:

    标签: android


    【解决方案1】:

    我有在垂直 ListView 中创建水平 ListView 的相同要求,我尝试使用 TwoWayView 来管理具有垂直滚动的 ListView 项目的水平滚动。您可以在 github 上查看我的演示,与 VerticalHorizontalListView. 相同。

    【讨论】:

    • 不错的教程,但在这里你只是水平滚动ListView 的每一行而不完整ListView
    【解决方案2】:

    你可以使用垂直滚动视图

    并在您的布局中提供android:fillViewport="true" 这将在不使用水平滚动视图的情况下为您提供水平滚动效果

    <ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="true" >
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
    
            <ListView
                android:id="@+id/listView1"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1" >
            </ListView>
        </LinearLayout>
    </ScrollView>
    

    【讨论】:

      【解决方案3】:

      setAdapter();之后添加prog_list.setHorizontalScrollBarEnabled(true);

      【讨论】:

      • 但它仍然在设置适配器上显示空指针异常......我已经在 sherlockfragment 类中实现了列表视图......
      • 仅指定是否应绘制水平滚动条。它不会以任何方式影响行为
      【解决方案4】:

      试试这个:

      public View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) 
      {
            View myFragmentView = inflater.inflate(R.layout.trendslay,container,false);       
            prog_list = (ListView)myFragmentView.findViewById(R.id.lv1);
      
      
          list = new ArrayList<String>();
          list.add("hi");
          list.add("hello");
          list.add("how r u");
          list.add("hi");
          list.add("hello");
          list.add("how r u");
          list.add("hi");
          list.add("hello");
          list.add("how r u");
      
          ArrayAdapter<String> adapter = new ArrayAdapter<String>getActivity(),
                android.R.layout.simple_list_item_1, android.R.id.text1,list);
          prog_list.setAdapter(adapter);
      
          return  myFragmentView ;
           }
      

      【讨论】:

      • 如果您编辑您的问题并解释造成差异的原因,这对其他用户很有用。
      • 在oncreateview中需要返回fragment view而不是listview,这就是它返回空指针异常的原因。
      猜你喜欢
      • 2012-07-31
      • 1970-01-01
      • 2013-07-18
      • 2015-12-21
      • 1970-01-01
      • 2023-04-07
      • 2015-08-04
      • 2011-01-03
      相关资源
      最近更新 更多