【问题标题】:Setting Button text with an array item使用数组项设置按钮文本
【发布时间】:2015-08-13 18:13:58
【问题描述】:

我正在尝试使用 AlertDialog 从数组中设置按钮的文本。我可以毫无问题地在 AlertDialog 中调出数组,但是如何将文本设置为所选项目?任何帮助将不胜感激,谢谢。

这是我的数组

<string-array name="Months">
    <item>January</item>
    <item>February</item> <item>March</item> <item>April</item>
    <item>May</item> <item>June</item> <item>July</item>
    <item>August</item> <item>September</item> <item>October</item>
    <item>November</item> <item>December</item>
</string-array>

这里是我要设置文本的地方

    button.setOnLongClickListener(new View.OnLongClickListener() {
        @Override
        public boolean onLongClick(View v) {
            final AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
            builder.setTitle("Select a month");
            builder.setItems(R.array.Months, new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                button.settext(""); // how do i set the text of the chosen item
                }
            });
            builder.create().show();
            return false;
        }
    });

【问题讨论】:

    标签: java android arrays button


    【解决方案1】:

    试试这个:getResources().getStringArray(R.array.Months)[which];

    【讨论】:

      【解决方案2】:

      我建议这样做:

      String[] months = { "January", "February", "March", ... "December" };
      
      button.setOnLongClickListener(new View.OnLongClickListener() {
          @Override
          public boolean onLongClick(View v) {
              final AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
              builder.setTitle("Select a month");
              builder.setItems(months, new DialogInterface.OnClickListener() {
                  @Override
                  public void onClick(DialogInterface dialog, int which) {
                      button.setText(months[which]);
                  }
              });
              builder.create().show();
              return true;
          }
      });
      

      祝你好运!

      【讨论】:

        猜你喜欢
        • 2013-11-20
        • 1970-01-01
        • 1970-01-01
        • 2011-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-26
        • 1970-01-01
        相关资源
        最近更新 更多