listView不在“设计”选项卡中显示项目,而是在模拟器中显示

时间:2016-07-05 16:17:10

标签: java xml android-layout listview android-studio

问题是,listView无法在我的activity_main xml的设计选项卡中正确显示,但在正在运行的模拟器中正确显示。这很不方便,因为在设计选项卡中查看设计非常方便。

请告诉我如何解决这个问题。

emulator with design tab image

我的代码如下:`

1.Main_activity.java:

package com.example.lemonade.app1;

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

import com.example.lemonade.app1.R;

public class MainActivity extends Activity {
    // Array of strings...
    String[] mobileArray = {"Android","IPhone","WindowsMobile","Blackberry","WebOS","Ubuntu","Windows7","Max OS X"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        ArrayAdapter adapter = new ArrayAdapter<String>(this, R.layout.activity_listview, mobileArray);

        ListView listView = (ListView) findViewById(R.id.mobile_list);
        listView.setAdapter(adapter);
    }
}

main_activity.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".ListActivity" >

<ListView
    android:id="@+id/mobile_list"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >
</ListView>

</LinearLayout>

的strings.xml:

 <?xml version="1.0" encoding="utf-8"?>
 <resources>
        <string name="app_name">ListDisplay</string>
        <string name="action_settings">Settings</string>
 </resources>

activity_listview.xml

<?xml version="1.0" encoding="utf-8"?>
<!--  Single List Item Design -->

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/label"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:padding="10dip"
     android:textSize="16dip"
     android:textStyle="bold" >
</TextView>

2 个答案:

答案 0 :(得分:0)

我可以考虑你可能遇到的两个问题:

1)请检查你的应用程序模块中的min SDK和你试图运行应用程序的手机,也许最低SDK比你的手机更高。

2)你试图在你的列表中显示图像查看视图并且它们处理为“V21”,当您尝试将图像复制到可绘制的库中时,它会为您提供2个选项常规图像或V21由于某种原因v21 don在手机和模拟器上显示它们,对我来说至少是因为我遇到了同样的问题并且它解决了我。

如果其中一个没有帮助尝试调试它并告诉我你得到了什么结果。

答案 1 :(得分:0)

您指的是设计中显示的操作栏,而不是模拟器吗?听起来你的应用主题设置为包含一个操作栏,假设你正在使用它,你的设计预览会显示它。

我现在无法测试它,但我相信如果你没有通过覆盖onCreateOptionsMenu()来明确设置你的活动选项,你不会在运行你的时候显示操作栏应用

您可以在清单和/或styles.xml中查看应用主题,查找

"android:theme="@style/AppTheme"

在我的案例中指向styles.xml。

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">

如果您将父级更改为没有操作栏的东西,例如Theme.AppCompat.NoActionBar,它将不会显示在您的设计窗口中。