Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将我的哈希集显示为列表视图_Java_Android_Listview_Hashset - Fatal编程技术网

Java 将我的哈希集显示为列表视图

Java 将我的哈希集显示为列表视图,java,android,listview,hashset,Java,Android,Listview,Hashset,我试图将我的HashSet数组显示到一个ListView中,这样我就可以单击一个单元格并显示一个警报 我的代码现在在HashSet数组中有三个项,能够通过一个EditText添加更多项,EditText捕获用户输入并将其存储在HashSet中 我想知道是否有办法获取HashSet项并将其显示到listview。我相信列表视图允许我点击一个单元格,并通过警报显示额外的随机信息 这可能吗 这是我的密码: public class MainActivity extends Activity {

我试图将我的HashSet数组显示到一个ListView中,这样我就可以单击一个单元格并显示一个警报

我的代码现在在HashSet数组中有三个项,能够通过一个EditText添加更多项,EditText捕获用户输入并将其存储在HashSet中

我想知道是否有办法获取HashSet项并将其显示到listview。我相信列表视图允许我点击一个单元格,并通过警报显示额外的随机信息

这可能吗

这是我的密码:

public class MainActivity extends Activity {

    Button aButton; // Global Scope
    Button sButton;
    TextView text2;
    EditText eText;
    HashSet<String> list = new HashSet<String>();


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

        aButton = (Button) this.findViewById(R.id.button1);
        text2 = (TextView) this.findViewById(R.id.textView1);

        aButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {


                list.add("Books");
                list.add("Newspapers");
                list.add("Magazines");
                String listString = "";

                for (String s : list) {
                    listString += s + " - ";
                }
                text2.setText(listString);
                }
            });




        sButton = (Button) this.findViewById(R.id.button2);
        eText = (EditText) this.findViewById(R.id.editText1);

        sButton.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View view) {


                 //Log.v("EditText", eText.getText().toString());
                 if( !list.add(eText.getText().toString()) )
                {
                     System.out.println("Not Unique Item");
                     Toast.makeText(getApplicationContext(), "Already Saved!",Toast.LENGTH_LONG).show();
                } else 
                {
                    System.out.println("Unique Entry Added");
                    Toast.makeText(getApplicationContext(), "Saved To Items.", Toast.LENGTH_LONG).show();

                }


            }

        });


        }

    }
公共类MainActivity扩展活动{
按钮邻接;//全局范围
按钮按钮;
TextView text2;
编辑文本;
HashSet list=新的HashSet();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.new_layout);
aButton=(按钮)this.findViewById(R.id.button1);
text2=(TextView)this.findViewById(R.id.textView1);
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
列表。添加(“书籍”);
列表。添加(“报纸”);
列表。添加(“杂志”);
字符串listString=“”;
用于(字符串s:列表){
listString+=s+“-”;
}
text2.setText(listString);
}
});
sButton=(Button)this.findViewById(R.id.button2);
eText=(EditText)this.findViewById(R.id.editText1);
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图){
//Log.v(“EditText”,eText.getText().toString());
如果(!list.add(eText.getText().toString()))
{
系统输出打印项次(“非唯一项”);
Toast.makeText(getApplicationContext(),“已保存!”,Toast.LENGTH\u LONG.show();
}否则
{
System.out.println(“添加的唯一条目”);
Toast.makeText(getApplicationContext(),“保存到项目”,Toast.LENGTH_LONG.show();
}
}
});
}
}

HashSet的问题是,根据定义,集合没有顺序,因此允许与ListView直接耦合没有多大意义。但将哈希集转换为ArrayList很容易,如下所示:

List<String> list = new ArrayList<String>(hashset);
List List=newarraylist(hashset);

为什么它必须是哈希集?使用普通ArrayList,创建ArrayAdapter并将其绑定到ListView