android - Android-有没有办法从ListView获取属性?

标签 android listview

就像标题一样。有没有办法从其他活动/片段的Lis​​tView中获取组件? (即,如果ListView显示“ apple”,“ banana”,“ coconut”,是否可以获取Array或其中的某些单词?)请帮助我!我正在尝试在其他活动/片段中使用ListView中的单词。
这是我的零件代码。

startButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            List<String> wordList = new ArrayList<>();
            for (int i = 0; i < listView.getCount(); i++) {
                wordList.add((String) listView.getItemAtPosition(i));
            }
            if(listView.getCount() == 0) {
                Toast.makeText(MainActivity.this, "단어가 생성되지 않았습니다.", Toast.LENGTH_SHORT).show();
            } else {
                Intent intent;
                intent = new Intent(MainActivity.this, Start.class);
                startActivity(intent);
            }
        }
    });

最佳答案

解决方案:假设您的列表视图显示String的列表,例如“ apple”,“ banana”,“ coconut”等。

// Declare an array list to store list view components
List<String> listToPass = new ArrayList<>();

// Loop through the list view to get all components
for (int i = 0; i < yourListView.getCount(); ++i) {
    listToPass.add((String) yourListView.getItemAtPosition(i));
}

// TODO: Send listToPass to another class.


并尝试一下。

更新1:根据您的用例。
MainActivity.java

 startButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                ArrayList<String> wordList = new ArrayList<>();
                for (int i = 0; i < listView.getCount(); i++) {
                    wordList.add((String) listView.getItemAtPosition(i));
                }
                if(listView.getCount() == 0) {
                    Toast.makeText(MainActivity.this, "단어가 생성되지 않았습니다.", Toast.LENGTH_SHORT).show();
                } else {
                    Intent intent = new Intent(MainActivity.this, Start.class);
                    intent.putStringArrayListExtra("word_list", wordList);
                    startActivity(intent);
                }
            }
        });


启动.java

 @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        ArrayList<String> wordList = getIntent().getStringArrayListExtra("word_list");
        // TODO: Process your word list here
    }

关于android - Android-有没有办法从ListView获取属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51737563/

相关文章:

android - 让安卓手机冒充蓝牙输入设备(鼠标或键盘)

android - 安卓中的蓝牙

java - Google Drive 虚拟主机链接功能是否有被淘汰的危险?

java - 有没有一种好方法可以用循环中的另一个线性来膨胀卡片 View 布局?

c# - 控制键的 ListView KeyUp 错误

java - 在 Android 中向 Fragment 添加列表

java - 如何将BroadcastReceiver中的Intent中的数据复制到Android中的新接收器中?

android - 为应用程序设置自定义内部存储要求 - android

c# - ListView 标题复选框

android - 自定义 android.R.layout.simple_list_item_checked