【发布时间】:2014-10-03 08:17:33
【问题描述】:
我正在尝试将我的 HashSet 数组显示到 ListView,以便我可以单击单元格并显示警报。
我的代码现在在该 HashSet 数组中包含三个项目,并且能够通过 EditText 添加更多项目,该 EditText 捕获用户输入并将其存储在 HashSet 中。
我想知道是否有办法获取 HashSet 项并将它们显示到列表视图。我相信列表视图允许我单击一个单元格并通过警报显示其他随机信息。
这可能吗?
这是我的代码:
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();
}
}
});
}
}
【问题讨论】:
-
为什么一定是HashSet?使用普通的ArrayList,创建一个ArrayAdapter并绑定到一个ListView
标签: java android listview hashset