Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使开关盒按数组单击?_Android_Arrays - Fatal编程技术网

Android 如何使开关盒按数组单击?

Android 如何使开关盒按数组单击?,android,arrays,Android,Arrays,请帮助我,如何使开关盒按数组单击或如何使此开关盒成为if?因为我有一个搜索栏,在进行搜索时,出现的项目与数组不一致。例如,当我单击es cendol的项/数组时,显示的类是EsBerasKencur_ResepMinum.class,而不是EsCendol_ResepMinum.class。但是祝酒会上展示的物品是圣餐。请帮帮我 public class Dingin_Tab extends Activity implements OnItemClickListener { publi

请帮助我,如何使开关盒按数组单击或如何使此开关盒成为if?因为我有一个搜索栏,在进行搜索时,出现的项目与数组不一致。例如,当我单击es cendol的项/数组时,显示的类是EsBerasKencur_ResepMinum.class,而不是EsCendol_ResepMinum.class。但是祝酒会上展示的物品是圣餐。请帮帮我

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,请尝试删除其他数组项,以测试错误位置是否是由于该数组项造成的