android listview在使用Activity实现它时不会吝啬,而不是listActivity

时间:2013-01-21 10:59:07

标签: android android-layout android-listview

我想将 listview放入布局,我想只使用活动类,而不是listActivity ,我看到了这两个问题

First

Second

我完全按照他们的说法做了,但我仍然没有在listview中看到任何内容

Java代码

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class FoodsMenu extends Activity {

    String foods[] = { "Betza" };
    ListView lvFoods;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.foodsmenu);
        initialize();
    }

    private void initialize() {
        // TODO Auto-generated method stub
        lvFoods = (ListView) findViewById(R.id.lvFoods);
        lvFoods.setAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, foods));


    }

}

布局代码foodsmenu.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >

    <ListView
        android:id="@+id/lvFoods"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:background="#333333"
        android:fillViewport="true" >
    </ListView>

    <LinearLayout
        android:layout_width="40dp"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:background="#ffffff"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/tvA"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="A"
            android:textColor="#025f7c"
            android:textSize="13dp" />

        <TextView
            android:id="@+id/tvB"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="B"
            android:textColor="#025f7c"
            android:textSize="13dp" />

        <TextView
            android:id="@+id/tvC"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="C"
            android:textColor="#025f7c"
            android:textSize="13dp" />

        <TextView
            android:id="@+id/tvD"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="D"
            android:textColor="#025f7c"
            android:textSize="13dp" />

    </LinearLayout>

</LinearLayout>

我的作品有什么问题?

2 个答案:

答案 0 :(得分:1)

enter image description here

检查附图。这是三星galxy选项卡的屏幕截图,只显示您的代码并且正常工作。

以下是我测试的完整代码。

import android.app.Activity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.ListView;

public class TestSamplesActivity extends Activity {
 String foods[] = { "Betza", "Betza1", "Betza2", "Betza3", "Betza4" };
    ListView lvFoods;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.foodsmenu);
        initialize();
    }

    private void initialize() {
        // TODO Auto-generated method stub
        lvFoods = (ListView) findViewById(R.id.lvFoods);
        lvFoods.setAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_1, foods));


    }
}

foodsmenu.xml。

  <?xml version="1.0" encoding="utf-8"?>

<ListView
    android:id="@+id/lvFoods"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:background="#333333"
    android:fillViewport="true" >
</ListView>

<LinearLayout
    android:layout_width="40dp"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:background="#ffffff"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/tvA"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="A"
        android:textColor="#025f7c"
        android:textSize="13dp" />

    <TextView
        android:id="@+id/tvB"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="B"
        android:textColor="#025f7c"
        android:textSize="13dp" />

    <TextView
        android:id="@+id/tvC"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="C"
        android:textColor="#025f7c"
        android:textSize="13dp" />

    <TextView
        android:id="@+id/tvD"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:text="D"
        android:textColor="#025f7c"
        android:textSize="13dp" />

</LinearLayout>

</LinearLayout>

清单

<?xml version="1.0" encoding="utf-8"?>

<uses-sdk android:minSdkVersion="10" />

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    <activity
        android:label="@string/app_name"
        android:name=".TestSamplesActivity" >
        <intent-filter >
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>

如果遗漏了任何内容,请与您的代码进行比较。

答案 1 :(得分:0)

  • 将listview的width =“match_parent”和线性的width =“40dp”替换为0dp
  • 相应地调整您的权重,如列表为0.8,线性等为0.2