Android-扩展ListActivity,ListView不';我没有出现

Android-扩展ListActivity,ListView不';我没有出现,android,listview,listactivity,Android,Listview,Listactivity,我想在单独的活动上创建一个ListView(我点击主活动上的按钮并弹出ListView的新活动),我将此示例用作模板: 我想强调的是,当我做与视频中几乎相同的事情时,它工作得很好。以下是示例: public class ShowActivity extends ListActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

我想在单独的活动上创建一个ListView(我点击主活动上的按钮并弹出ListView的新活动),我将此示例用作模板:

我想强调的是,当我做与视频中几乎相同的事情时,它工作得很好。以下是示例:

public class ShowActivity extends ListActivity {

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

    String[] shoplist = {"bread", "juice", "something"};

    setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, shoplist));
}
}
public类ShowActivity扩展了ListActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_show);
String[]shoplist={“面包”、“果汁”、“某物”};
setListAdapter(新的ArrayAdapter(这个,android.R.layout.simple_list_item_1,shoplist));
}
}
但是,当我尝试将LinkedList(我在主活动中填充)转换为字符串[],然后在ArrayAdapter中使用它时,ListView不会显示(它不会崩溃-只启动空活动)。代码如下:

public class ShowActivity extends ListActivity {

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


    String[] shoplist = new String[MainActivity.NameList.size()];
    for (int i=0;i<MainActivity.NameList.size();i++){
        shoplist[i]=MainActivity.NameList.get(i);
    }
    setListAdapter(new ArrayAdapter<String>(this, android.R.layout.activity_list_item, shoplist));
}
}
public类ShowActivity扩展了ListActivity{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_show);
String[]shoplist=新字符串[MainActivity.NameList.size()];

对于(int i=0;i最有可能您的姓名列表是空的)在您的ListView.xml中,
.ShowActivit
这是一个复制粘贴错误吗?@donfuxx我对姓名列表也有同样的想法,但我不知道为什么-我首先填充一个或两个“项目”,然后单击“全部显示”PS是的,这是一个复制粘贴错误,我有“.ShowActivity”在调用setListAdapter之前的程序中:记录shoplist数组的值以确认它们确实为空。我做了一个if语句来检查这一点(我对android非常陌生,所以我不知道如何“记录”事情)如果(NameList.size()==0)setListAdapter创建预定义的字符串[](“面包”、“果汁”、“某物”)否则它将创建名称列表,并创建带有“bread…”的listview
public class MainActivity extends Activity implements OnClickListener{

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

    //Buttons declaration 
    Button btnClickAdd = (Button) findViewById(R.id.btnadd);
    btnClickAdd.setOnClickListener(this);
    Button btnClickShow = (Button) findViewById(R.id.btnshow);
    btnClickShow.setOnClickListener(this);
    Button btnClickClear = (Button) findViewById(R.id.btnclear);
    btnClickClear.setOnClickListener(this);

}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

/** On click actions */
@Override 
public void onClick(View v) {

    // Declaration of text fields
    EditText nameField = (EditText) this.findViewById(R.id.editText1);
    EditText valueField = (EditText) this.findViewById(R.id.editText2);

    //checking which button has been selected
    switch (v.getId()) {
    case R.id.btnadd: {
        String name = nameField.getText().toString();   
        String price = valueField.getText().toString();

        if(name.length()==0 || price.length()==0) break;
        else {
            NameList.add(name);
            nameField.setText("");
            ValueList.add(Double.parseDouble(price));
            valueField.setText("");
        }
        break;
    }
    case R.id.btnshow: {
        //new activity...
        Intent intent = new Intent(this, ShowActivity.class);
        startActivity(intent);

    }
    case R.id.btnclear: {
        NameList.clear();
        ValueList.clear();
        break;
    }
    }
}

/** Instance variables */
//Lists declaration for data storage
public static LinkedList<String> NameList = new LinkedList<String>();
public static LinkedList<Double> ValueList = new LinkedList<Double>();

public static final String KLUCZ = "com.somethingsomething.ShopList.TEXT";
}
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="24dp"
    android:layout_marginTop="24dp"
    android:ems="10"
    android:hint="@string/name_"
    android:inputType="textMultiLine" />

<EditText
    android:id="@+id/editText2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:ems="10"
    android:hint="@string/value_"
    android:inputType="numberDecimal" >

    <requestFocus />
</EditText>

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_weight="0.05"
    android:gravity="bottom" >

    <Button
        android:id="@+id/btnadd"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/add" />

    <Button
        android:id="@+id/btnshow"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/show_all" />

    <Button
        android:id="@+id/btnclear"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/clear_all" />
</LinearLayout>

</LinearLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".ShowActivit" >

</LinearLayout>