【问题标题】:Storing button presses into a list and viewing them in another activity?将按下的按钮存储到列表中并在另一个活动中查看它们?
【发布时间】:2017-09-19 13:30:33
【问题描述】:

我是 android studio 的新手,正在尝试自学基础知识。我目前有许多用于各种食品(沙拉酱)的按钮。一旦按下,我希望将食物项目存储在一个列表中,这样一旦我进入下一个活动,我就可以将它显示在那里,显示被按下的项目。

SaladDressing.java:

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class SaladDressing extends AppCompatActivity {

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

    Button button1 = (Button) findViewById(R.id.BalsamicVinaigrette);
    button1.setText("Balsamic Vinaigrette");

    Button button2 = (Button) findViewById(R.id.Caesar);
    button2.setText("Caesar");

    Button button3 = (Button) findViewById(R.id.BleuCheese);
    button3.setText("Bleu Cheese");

    Button button4 = (Button) findViewById(R.id.HM);
    button4.setText("Honey Mustard");

    Button button5 = (Button) findViewById(R.id.LoCalItalian);
    button5.setText("Lo-Cal Italian");

    Button button6 = (Button) findViewById(R.id.CM);
    button6.setText("Chipotle Mayo");

    Button button7 = (Button) findViewById(R.id.Ranch);
    button7.setText("Ranch");

    Button button8 = (Button) findViewById(R.id.ThousandIsland);
    button8.setText("Thousand Island");

    button1.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v) {
            startActivity(new Intent(SaladDressing.this, Orderlist.class));
        }
    });

    button2.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v) {
            startActivity(new Intent(SaladDressing.this, Orderlist.class));
        }
    });

    button3.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v) {
            startActivity(new Intent(SaladDressing.this, Orderlist.class));
        }
    });

    button4.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v) {
            startActivity(new Intent(SaladDressing.this, Orderlist.class));
        }
    });

    button5.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v) {
            startActivity(new Intent(SaladDressing.this, Orderlist.class));
        }
    });

    button6.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v) {
            startActivity(new Intent(SaladDressing.this, Orderlist.class));
        }
    });

    button7.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v) {
            startActivity(new Intent(SaladDressing.this, Orderlist.class));
        }
    });
    button8.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v) {
            startActivity(new Intent(SaladDressing.this, Orderlist.class));
        }
    });




}
}

但我不确定如何保存这些印刷机并将它们显示在 Orderlist.java 和布局文件中。我想我必须使用 ArrayList,但我不确定如何使用它来存储按钮按下。

谢谢!

【问题讨论】:

    标签: android arrays list android-studio button


    【解决方案1】:

    如果你想允许多选,那么我建议你使用CheckBoxes而不是Buttons。此外,您应该使用View.OnClickListener 扩展SaladDressing 类并实现void onClick(View v)。然后,不是为每个视图单击侦听器设置多个匿名类,而是只有一个并将其设置为所有视图,例如 button1.setOnClickListener(this); 等等。 OnClickListener 方法实现可能如下所示:

    public void onClick(View v) {
                String dressing = ((Button) v).getText();
                Intent intent = new Intent(SaladDressing.this, Orderlist.class);
                intent.putExtra("selected_dressing", dressing);
                startActivity(intent);
            }
    

    【讨论】:

    • 谢谢,这是个好建议。但是,我仍然不确定如何存储按钮按下的值并将其显示在 Orderlist 类中。
    猜你喜欢
    • 1970-01-01
    • 2017-10-13
    • 2021-05-02
    • 2011-08-15
    • 2019-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-08
    相关资源
    最近更新 更多