android - ListView不显示结果但通过代码传递

标签 android android-widget

我有 ListView 的行(listview 在 LinearLayout 内),例如

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <CheckBox
        android:id="@+id/chk"
        android:layout_alignParentLeft="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    <TextView
        android:id="@+id/txtChoice"
        android:textColor="#FF0000"
        android:text="TEST"
        android:layout_toRightOf="@id/chk"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" /> 
</RelativeLayout>

和内部类一样的Adapter

private class SimpleAdapter extends BaseAdapter {

    private String[] list=null;

    public SimpleAdapter(String[] list) {
      this.list = list;
    }

    @Override
    public int getCount() {
      return list.length;
    }

    @Override
    public Object getItem(int position) {
      return list[position];
    }

    @Override
    public long getItemId(int position) {
      return list[position].hashCode();
    }

    // Generate view for coupon's row 
    public View getView(int position, View convertView, ViewGroup parent) {

      View view = convertView;

      if(view == null){
        LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        view = inflater.inflate(R.layout.row, null);
      }    

      return view;
    } 
  } 

然后我将适配器设置为

        SimpleAdapter m=new SimpleAdapter( data );
            listView.setAdapter(m);

数据是 String[] data=new String[]{"test","test_1"}; 但列表没有显示任何内容。我调试了,它正常通过但没有显示。可能是什么问题?

最佳答案

您发布的问题代码相同,我已经试过了。 并且运行完美..

我在我的 Activity 和 xml 中使用了相同的适配器类

在我的 TestThis.java 文件中

我使用了您的 Adapter 类,还 我写了,

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // setContentView(R.layout.maintwiter);

        String[] data=new String[]{"test","test_1"};
        SimpleAdapter m=new SimpleAdapter( data );
        ListView listView = new ListView(this);
        listView.setAdapter(m); 
        setContentView(listView);
    }

但是您仍然需要在 getView() 方法中将 String 数组中的数据设置到您的 TextView

伙计,它给了我 2 行列表的结果。

this

关于android - ListView不显示结果但通过代码传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7766086/

相关文章:

java - Android:在JAR中添加资源文件

android - pendingintent 有时不工作

java - Android 应用程序导致 SIGSEGV,我该如何调试?

android - 如何创建自己的小部件并在其他 activity android 中重用它

android - 如何在 Android 中以编程方式更改小部件布局背景

安卓相机表面 View 。如何更改图片分辨率?

android - 如何获取屏幕宽度和高度

android - 刷新小部件时每个对象都被销毁了吗?

android - 结合 layout_weight 和 maxHeight?

Android:如何为微调项提供替代颜色