构建列表视图和以下代码可以正常工作,但是突出显示了我的asList无法被Java识别。有人可以告诉我我哪里出了问题。这适用于以前的android studio版本,但现在不行吗?

package com.example.air rocketapps.listviewdemo;

    import android.app.Activity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.ListView;
    import android.widget.Toast;

    import java.util.ArrayList;

    import static java.util.Arrays.asList;


    public class MainActivity extends Activity {

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

            ListView friendsListView = (ListView)findViewById(R.id.friendsListView);

            final ArrayList<String> myFriends = new ArrayList<String>(**asList**("John", "Paul", "George", "Ringo"));

            ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, myFriends);

            friendsListView.setAdapter(arrayAdapter);

            friendsListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                @Override
                public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                    Toast.makeText(getApplicationContext(), "Hello " + myFriends.get(position), Toast.LENGTH_LONG).show();

                }
            });

    }

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

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

最佳答案

Arrays.asList()是一种Fabric方法,因此您不应将其使用new ArrayList
只需使用
final ArrayList<String> myFriends = Arrays.asList("John", "Paul", "George", "Ringo"));

更新:最好在分配的左侧使用界面,即

最终列表 myFriends

10-06 09:19