Android识别多个按钮

时间:2015-12-13 13:30:30

标签: java android sqlite android-studio android-button

100 button中的MainLayout.xml已超过ID,我想点击每个。我想对所有按钮进行分组,然后点击群组按钮,获取String并将其放入Sqlite Databse Table,然后将其用作我的基本ID,以便从MainClass.java进行查询。我怎样才能做到这一点?到目前为止,我在public class MainClass extends AppCompatActivity implements View.OnClickListener { Button B0,B1,B2,B3....; String baseId; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_layout); buttonInitializer(); } public void buttonInitializer(){ B0 = (Button)findViewById(R.id.B0); B0.setOnClickListener(this); B1 = (Button)findViewById(R.id.B1); B1.setOnClickListener(this); ... } @Override public void onClick(View v) { switch (v.getId()){ case R.id.B0: baseId = "B0"; break; case R.id.B1: baseId = "B1"; break; .......... default: break; } QueryFire(); // Fire a query } Public void QueryFire(){ //Fire the query with id of the clicked button } } 上有这个。

MainClass.java

RadioButton

正如你可以看到我是否继续这样做,我将有长码,我想缩短我的代码,而不是上面的代码,我想分组按钮,然后听取每次点击就像// Put the button into RelativeLayout or something and use it to group the button // OnClick of Each Button inside the GroupButton: // Get the ID of the Clicked Button: // Put the ID of Button into String: // and FIRE my query with ID of Button ,但请注意。我不想使用RadioButton。我试图实现这个seudo代码。

=

任何帮助都不胜感激!非常感谢!!!

2 个答案:

答案 0 :(得分:1)

您应该能够为xml布局中的每个按钮指定“android:tag”属性的String,以及“android:onclick”属性。这应该消除了对所有findViewById()和setOnClickListener()调用的需要。

然后,在onClick方法中,您可以执行baseId = (String) view.getTag()

之类的操作

答案 1 :(得分:0)

可能有点拉伸,但为什么不使用带自定义适配器的ListView?每个适配器将保持一个按钮(或任何你想要的),每按一次按钮,你将获得id(点击元素的位置)。它在内存上也更容易:)