1

我正在尝试使用水平滚动视图实现列表视图。设置列表视图适配器时出现 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);


    }
4

4 回答 4

6

我有在 Vertical ListView 内创建一个 Horizo​​ntal ListView 的相同要求,并且我尝试使用TwoWayView来管理具有垂直滚动的 ListView 项目的水平滚动。你可以在 github 上查看我的演示VerticalHorizontalListView.

于 2013-08-06T09:00:26.547 回答
1

您可以使用垂直滚动视图

并在您的布局中给出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>
于 2013-01-24T06:11:18.217 回答
0

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

于 2013-01-24T05:59:38.433 回答
0

尝试这个:

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 ;
     }
于 2016-07-18T11:47:13.397 回答