ListActivity - 列表未显示

时间:2016-03-08 18:54:50

标签: java android

当我尝试设置listAdapter或适配器(#setListAdapter(), #getListView().setAdapter())时,它不会显示。当我尝试单独设置ListView时,它工作得很好。当我在#runOnUiThread()中运行它时,它不起作用。为什么我的清单没有显示?

以下是我的代码

public class ShopActivity extends ListActivity {

    private Intent mainIntent = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.shop);
        mainIntent = new Intent(this, MainActivity.class);

        String[] items = {"Test"};
        ArrayAdapter adapter = new ArrayAdapter<>(this,
        android.R.layout.simple_list_item_1, items);

        //ListView view = (ListView) findViewById(R.id.list);

         //view.setAdapter(adapter);
        getListView().setAdapter(adapter);
    }

    public void onBack(View view) {
        startActivity(mainIntent);
    }

}

编辑:

布局:

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

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="450dp"
        android:layout_gravity="center_horizontal"
        android:layout_centerHorizontal="true"
        android:textAllCaps="false"
        android:text="@string/button_back"
        android:onClick="onBack"
        android:id="@+id/back"
/>

<TextView
        android:id="@android:id/empty"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="EMPTY"
        android:layout_centerHorizontal="true"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="-500dp"/>


<ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="0.11"/>

</LinearLayout>

1 个答案:

答案 0 :(得分:0)

您可能想要使用

this.setAdapter(adapter);

代替。