【问题标题】:How to display horizontally a list of names (Strings) and make them each clickable?如何水平显示名称列表(字符串)并使它们每个都可点击?
【发布时间】:2015-01-20 12:22:57
【问题描述】:

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

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

谢谢!!

【问题讨论】:

标签: android string android-listview onclick append


【解决方案1】:

希望以下库对您有所帮助:

https://github.com/blazsolar/FlowLayout

【讨论】:

  • 谢谢,但我想使用一些内部的、内置的解决方案。
  • 它只有一个自定义视图组文件,基于此您可以解决问题。
【解决方案2】:

要创建水平的ListView,您不需要任何外部 库。我在网上找到了一篇文章,介绍了如何做到这一点。

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

【讨论】:

    【解决方案3】:

    这些建议可能没问题,但不是我想要的,我想出了一个这样的解决方案:

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

    我已经为每个名称动态创建了一个 TextView,以及 OnClickListeners。希望对寻求简单解决方案的人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-13
      • 1970-01-01
      • 1970-01-01
      • 2012-01-16
      • 1970-01-01
      相关资源
      最近更新 更多