如何水平显示名称列表(字符串)并使它们各自可点击?

时间:2014-11-22 11:32:11

标签: android string android-listview onclick append

我正在寻找一种方法,可以在Android应用程序中水平显示名称列表(可能在TextView中)并使它们全部可点击。这些名称是从具有自己ID的在线数据库中提取的,该ID指向其个人资料活动,以获取有关每个人的更多信息。

我认为ListView不是一个选项,因为它的垂直性质,是否有一种简单的方法可以做到这一点,比如用自己的点击功能附加每个名字?

谢谢!

3 个答案:

答案 0 :(得分:0)

我希望以下图书馆能为您提供帮助:

https://github.com/blazsolar/FlowLayout

答案 1 :(得分:0)

要创建水平ListView,您不需要任何外部库。我在网上发现了一篇文章,展示了如何做到这一点。

http://sandyandroidtutorials.blogspot.in/2013/06/horizontal-listview-tutorial.html

答案 2 :(得分:0)

建议很可能,但不是我想要的,我提出了这样的解决方案:

for (int i=0; i< contacts.length();i++){
                        JSONObject json = contacts.getJSONObject(i);    
                        final String names = json.getString("names");
                        final String uerIds = json.getString("userIds");

                        final TextView[] likers = new TextView[10];

                        LinearLayout layout = (LinearLayout) findViewById(R.id.likers);
                        //setContentView(layout);
                        likers[i] = new TextView(getApplicationContext());
                        likers[i].setText(names + ", ");
                        likers[i].setTextColor(Color.parseColor("#d52e2e"));
                        likers[i].setTypeface(null, Typeface.BOLD_ITALIC);
                        likers[i].setTextSize(13);                  

                        layout.addView(likers[i]);

                        likers[i].setOnClickListener(new View.OnClickListener() {
                            public void onClick(View v) {                               
                                Intent in= new Intent(getApplicationContext(), UserProfile.class);
                                in.putExtra("user", names);
                                in.putExtra("userId", uerIds);
                                startActivity(in);                              
                            }
                        }); 

我为OnClickListeners动态创建了每个名称的TextView。希望能帮助任何寻求简单解决方案的人。