列表视图asList无法被android studio识别

时间:2017-04-11 14:36:01

标签: java android listview

构建列表查看并从下面的代码开始工作但是突出显示我的asList不被Java识别。有些人可以告诉我哪里出错了。这是在以前的Android工作室版本,但现在不是吗?

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);
    }
}

4 个答案:

答案 0 :(得分:1)

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

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

最终列表&lt;串GT; myFriends

答案 1 :(得分:0)

没有Activity.asList()函数。有一个Arrays.asList()函数。这可能就是你的意思。

答案 2 :(得分:-1)

我这样创建,并且可以正常工作

final ArrayList<String> myfamily = new ArrayList<String>(asList(new String[]{"Rob","Tommy","Ben","Charly"}));

答案 3 :(得分:-1)

我这样创建,并且可以正常工作。 最终列表myFriends = Arrays.asList(“ John”,“ Jane”,“ Anuj”,“ Biubiu”);