抱歉,如果有人问过这个问题,我搜索了但没有找到任何东西。我正在android中制作一个表格,并且有一些复选框,如果它们被选中,我想传递它们。所以我制作了复选框并将视图投射到复选框,因此它将检查我单击的任何复选框(尚未添加复选框侦听器)。问题是,当它确定选中了一个复选框时,我想让该框的布尔值为真
例如,当您勾选购买复选框时,我希望将 isbuyable 布尔值设置为 true。如果不使用许多 if 语句来设置每个语句,这是否可能?我创建了字符串变量 nameofboolean,它是用于更改状态的布尔值的名称,但不确定现在如何在没有大量 IF 语句检查每个语句的情况下实际更改该布尔值。
编辑:为了澄清,我想要的只是在选中复选框时将与每个复选框匹配的布尔值设置为 true。如果可能的话,我只是不想使用很多 IF 来做到这一点。
package com.Assist.assistme;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.Spinner;
import android.widget.TextView;
public class market extends Activity implements OnItemSelectedListener
{
//UI elements
TextView choose;
Spinner list;
TextView buyrent;
CheckBox buyable;
CheckBox rentable;
TextView type;
CheckBox hard;
CheckBox soft;
CheckBox ebook;
TextView condition;
CheckBox new_book;
CheckBox used_book;
Button search;
String course_chosen;
Boolean isbuyable;
Boolean isrentable;
Boolean ishard;
Boolean issoft;
Boolean isebook;
Boolean isnew_book;
Boolean isused_book;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.market);
iteminit();
OnClickListener checkboxlistener = new OnClickListener()
{
@Override
public void onClick(View v)
{
if(((CheckBox) v).isChecked())
{
String nameofboolean = "is" + v.toString();
}
}
};
}
private void iteminit()
{
choose = (TextView)findViewById(R.id.market_choose);
buyrent = (TextView)findViewById(R.id.market_buyrent);
buyable = (CheckBox)findViewById(R.id.market_buy);
rentable = (CheckBox)findViewById(R.id.market_rent);
type = (TextView)findViewById(R.id.market_type);
hard = (CheckBox)findViewById(R.id.market_hardcover);
soft = (CheckBox)findViewById(R.id.market_softcover);
ebook = (CheckBox)findViewById(R.id.market_ebook);
condition = (TextView)findViewById(R.id.market_condition);
new_book = (CheckBox)findViewById(R.id.market_new);
used_book = (CheckBox)findViewById(R.id.market_used);
search = (Button)findViewById(R.id.market_search);
list = (Spinner)findViewById(R.id.market_list);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
R.array.course_choices, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
list.setAdapter(adapter);
list.setOnItemSelectedListener(this);
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int pos,
long id)
{
course_chosen = parent.getItemAtPosition(pos).toString();
}
@Override
public void onNothingSelected(AdapterView<?> arg0)
{
}
}
提前致谢