Android 如何使开关盒按数组单击?
请帮助我,如何使开关盒按数组单击或如何使此开关盒成为if?因为我有一个搜索栏,在进行搜索时,出现的项目与数组不一致。例如,当我单击es cendol的项/数组时,显示的类是EsBerasKencur_ResepMinum.class,而不是EsCendol_ResepMinum.class。但是祝酒会上展示的物品是圣餐。请帮帮我Android 如何使开关盒按数组单击?,android,arrays,Android,Arrays,请帮助我,如何使开关盒按数组单击或如何使此开关盒成为if?因为我有一个搜索栏,在进行搜索时,出现的项目与数组不一致。例如,当我单击es cendol的项/数组时,显示的类是EsBerasKencur_ResepMinum.class,而不是EsCendol_ResepMinum.class。但是祝酒会上展示的物品是圣餐。请帮帮我 public class Dingin_Tab extends Activity implements OnItemClickListener { publi
public class Dingin_Tab extends Activity implements
OnItemClickListener {
public static final String[] titles = new String[] { "Es Beras Kencur", "Dawet Ayu",
"Es Cendol", "Es Doger", "Es Oyen", "Es Teler", "Es Temulawak",
"Es Selendang Mayang", "Es Cincau", "Es Merah Delima"};
public static final Integer[] images = {R.drawable.minumberaskencur,
R.drawable.minumdawetayu, R.drawable.minumescendol,
R.drawable.minumesdoger, R.drawable.minumesoyen, R.drawable.minumesteler, R.drawable.minumestemulawak,
R.drawable.minumesselendangmayang, R.drawable.minumescincau, R.drawable.minumesmerahdelima};
ListView listView;
List<RowItem> rowItems;
EditText editsearch;
ListView list;
CustomListViewAdapter madapter;
ArrayList<RowItem> arraylist = new ArrayList<RowItem>();
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listviewresma);
rowItems = new ArrayList<RowItem>();
for (int i = 0; i < titles.length; i++) {
RowItem item = new RowItem(images[i], titles[i], null);
rowItems.add(item);
}
listView = (ListView) findViewById(R.id.list);
CustomListViewAdapter adapter = new CustomListViewAdapter(this,
R.layout.list_item, rowItems);
listView.setAdapter(adapter);
listView.setOnItemClickListener(this);
madapter = new CustomListViewAdapter(this, 0, rowItems);
// Binds the Adapter to the ListView
listView.setAdapter(madapter);
// Locate the EditText in listview_main.xml
editsearch = (EditText) findViewById(R.id.search);
// Capture Text in EditText
editsearch.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
String text = editsearch.getText().toString().toLowerCase(Locale.getDefault());
madapter.filter(text);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1,
int arg2, int arg3) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence arg0, int arg1, int arg2,
int arg3) {
// TODO Auto-generated method stub
}
});
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
switch (position)
{
case 0: Intent newActivity0 = new Intent(this, EsBerasKencur_ResepMinum.class);
startActivity(newActivity0);
break;
case 1: Intent newActivity1 = new Intent(this, DawetAyu_ResepMinum.class);
startActivity(newActivity1);
break;
case 2: Intent newActivity2 = new Intent(this, EsCendol_ResepMinum.class);
startActivity(newActivity2);
break;
case 3: Intent newActivity3 = new Intent(this, EsDoger_ResepMinum.class);
startActivity(newActivity3);
break;
case 4: Intent newActivity4 = new Intent(this, EsOyen_ResepMinum.class);
startActivity(newActivity4);
break;
case 5: Intent newActivity5 = new Intent(this, EsTeler_ResepMinum.class);
startActivity(newActivity5);
break;
case 6: Intent newActivity6 = new Intent(this, Temulawak_ResepMinum.class);
startActivity(newActivity6);
break;
case 7: Intent newActivity7 = new Intent(this, EsSelendangmayang_ResepMinum.class);
startActivity(newActivity7);
break;
case 8: Intent newActivity8 = new Intent(this, EsCincau_ResepMinum.class);
startActivity(newActivity8);
break;
case 9: Intent newActivity9 = new Intent(this, EsMerahDelima_ResepMinum.class);
startActivity(newActivity9);
break;
}
Toast toast = Toast.makeText(getApplicationContext(),
"Resep Minuman Dingin " + (position + 1) + ": " + rowItems.get(position),
Toast.LENGTH_SHORT);
toast.setGravity(Gravity.BOTTOM|Gravity.CENTER_HORIZONTAL, 0, 0);
toast.show();
}
public class Dingin_选项卡扩展活动实现
麦克利克监听器{
公共静态最终字符串[]标题=新字符串[]{“Es Beras Kencur”,“Dawet Ayu”,
“圣多尔”、“圣多格尔”、“奥恩”、“特勒”、“特穆拉瓦克”,
“塞伦当马阳”、“辛考”、“梅拉德里马”};
公共静态最终整数[]图像={R.drawable.minumberaskencur,
R.drawable.minumdawetayu,R.drawable.minumescentdol,
R.drawable.minumestoger,R.drawable.minumestoyen,R.drawable.minumesteler,R.drawable.minumestemulawak,
R.drawable.minumeslendangmayang,R.drawable.minumescincau,R.drawable.minumesmerahdelima};
列表视图列表视图;
列出项目;
编辑文本编辑搜索;
列表视图列表;
自定义列表视图适配器madapter;
ArrayList ArrayList=新的ArrayList();
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.listviewresma);
rowItems=新的ArrayList();
对于(int i=0;i
您的筛选列表与行项目不同,因此请检查您单击了哪些项目,以及您在toast中显示了哪些项目。请参见此图,您不需要使用这样的切换案例。有多种方法可以实现所需的结果。
一种是,您可以将自定义适配器中的筛选列表设置为公共列表,并可以从onItemClick()通过ists位置获取它。(filteredList.get(position))
否则,您可以在列表适配器中添加类objectc as标记,并将其作为(view.getTag())放入onItemClick()中
希望这能有所帮助。您是否尝试过调试或记录位置值?另外,您不需要这样做,您可以在交换机外部有一个意图声明,然后将MyClass.class存储在一个变量中,然后在切换后执行代码……我认为更好地理解这种方式也可能是在Cl上如果为另一个数组抛出ick,请尝试删除其他数组项,以测试错误位置是否是由于该数组项造成的