java - 如何使用 ArrayAdapter 填充 ListView

标签 java android android-studio

我正在尝试使用数组列表填充我的activity_juice_menu.xml。我遇到了麻烦,并不断收到一条错误消息,显示“没有合适的方法通过 ID 查找 View ”

我想我可能缺少 getContent();某处但不知道在哪里

package com.example.vitoriano_vaz.easybayvapes;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class juiceMenu extends AppCompatActivity {


    private static String VALUE = "myValue";

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

        ArrayAdapter juiceMenu = new ArrayAdapter<String>(this, android.R.layout.activity_list_item);

        ListView listView = (ListView) findViewById(this, R.layout.activity_juice_menu);
        listView.setAdapter(juiceMenu);


        juiceMenu.add("#1 Blueberry Bombshell");
        juiceMenu.add("#2 Richie Rich");
        juiceMenu.add("#3 Chiquita");
        juiceMenu.add("#4 Afternoon Delight");
        juiceMenu.add("#5 Poppin Otters");
        juiceMenu.add("#6 Viva La Sangria");
        juiceMenu.add("#7 Okole Maluna");
        juiceMenu.add("#8 Carmen Miranda");
        juiceMenu.add("#9 Pomalade");
        juiceMenu.add("#10 Izual");
        juiceMenu.add("#11 Butter Stotch ");
        juiceMenu.add("#12 Blue Bulls");
        juiceMenu.add("#13 Grape Ape");
        juiceMenu.add("#14 Bruce Juice");
        juiceMenu.add("#15 Doc Holiday");
        juiceMenu.add("#16 Peachy Keen");
        juiceMenu.add("#17 Hula");
        juiceMenu.add("#18 New York");
        juiceMenu.add("#19 Al Gore");
        juiceMenu.add("#20 Lux Charms");
        juiceMenu.add("#21 Sailor jack");
        juiceMenu.add("#22 Get Him to the Greek");
        juiceMenu.add("#23 Key We Lie Chi");
        juiceMenu.add("#24 Spring Fling");
        juiceMenu.add("#25 Gumby");
        juiceMenu.add("#26 Chai-Milk");
        juiceMenu.add("#27 Mr. Bean");
        juiceMenu.add("#28 50 Shades of Orange");
        juiceMenu.add("#29 Blue Waffles");
        juiceMenu.add("#30 Enigma");
        juiceMenu.add("#31 Mr. Freeze");
        //juiceMenu.add("#32 New Flavor"); need to update to get newest flavor
  }
}

这是我想要填充的 xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    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="com.example.vitoriano_vaz.easybayvapes.juiceMenu">

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

    </ListView>


</LinearLayout>

AndroidManifest

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.vitoriano_vaz.easybayvapes">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest

主要 Activity

package com.example.vitoriano_vaz.easybayvapes;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;




public class MainActivity extends AppCompatActivity {

    public void sendMessage(View view){
        Intent intent = new Intent(this, juiceMenu.class);
        startActivity(intent);
    }


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

    public void startJuiceMenu(View view) {
        Log.d("MyApp", "button clicked");


    }
}

最佳答案

findViewById 仅采用一个参数( View ID)。从通话中删除this

http://developer.android.com/reference/android/app/Activity.html#findViewById%28int%29

关于java - 如何使用 ArrayAdapter 填充 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36538562/

相关文章:

debugging - 使用 native 调试设置 Android Studio 1.5 预览版

android-studio - Android Studio 2.2.3 : Favorites,书签和打开的文件夹不断消失,始终重建项目和.idea-folder

java - google Caliper 示例测试不起作用?

android - 将元素与不同 ConstraintLayout 中的元素对齐

java - 如何从底部 fragment 获取数据到主要 Activity ?

java - For 循环显示前一个值和下一个值

java - 包 org.apache.commons.io 不存在

java - 无法更新实体

java - JOptionPane 信息消息

android - 非法参数异常 : button doesn't exist 0 in android studio 2. 1 在 ubuntu 14.04