Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.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_Listview - Fatal编程技术网

在android中单击列表视图中的不同项目时,如何制作不同的吐司?

在android中单击列表视图中的不同项目时,如何制作不同的吐司?,android,listview,Android,Listview,大家好,当我试图在我的listview中搜索一个项目时,我在保持我的位置项目固定方面遇到了问题。例如:当我在我的listview中单击一个项目时,我得到了一片字符串,这真的很好;位置3,无搜索界面;这很好。但是,当我对同一个项目使用搜索界面时,我在另一个位置0处得到了不同的字符串吐司。我如何才能使位置与字符串吐司保持一致,而每个位置都是固定的 简而言之,我的目标是当我在没有和有搜索界面的情况下点击Kim性能时,它应该都给我烤面包这真的很好!谢谢,帮帮我 public class MainActi

大家好,当我试图在我的listview中搜索一个项目时,我在保持我的位置项目固定方面遇到了问题。例如:当我在我的listview中单击一个项目时,我得到了一片字符串,这真的很好;位置3,无搜索界面;这很好。但是,当我对同一个项目使用搜索界面时,我在另一个位置0处得到了不同的字符串吐司。我如何才能使位置与字符串吐司保持一致,而每个位置都是固定的

简而言之,我的目标是当我在没有和有搜索界面的情况下点击Kim性能时,它应该都给我烤面包这真的很好!谢谢,帮帮我

public class MainActivity extends AppCompatActivity{

private EditText editText;

private ArrayAdapter<String> listAdapter;

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

editText = (EditText)findViewById(R.id.editCourseText);

ListView itemList = (ListView)findViewById(R.id.CoursesListView);

String [] listViewAdapterContent = {
        "rita performance",
        "ashely performance",
        "jenifer performance",
        "akim performance",
        "john performance",

    };

    listAdapter = new ArrayAdapter<String>(this,   android.R.layout.simple_list_item_2, android.R.id.text1, listViewAdapterContent);

    itemList.setAdapter(listAdapter);
    itemList.setOnItemClickListener(new AdapterView.OnItemClickListener() {

    @Override
     public void onItemClick(AdapterView<?> parent, View view, int   position, long id) {
    String sMessage = "";
    switch(position) {
    case 0: sMessage = "This is exactly what should be done "; break;
    case 1: sMessage = "You are completely wrong! "; break;
    case 2: sMessage = "This is good "; break;
    case 3: sMessage = "This is really good "; break;
    case 4: sMessage = "This is perfect "; break;
   }
    Toast.makeText(getApplicationContext(), sMessage+position,    Toast.LENGTH_LONG).show();
}
        });

   editText.addTextChangedListener(new TextWatcher() {

    @Override
    public void beforeTextChanged(CharSequence c, int start, int count,  int  after) {
    }

    @Override
    public void onTextChanged(CharSequence c, int start, int before, int count) {
        MainActivity.this.listAdapter.getFilter().filter(c);
    }

    @Override
    public void afterTextChanged(Editable c) {
    }
});
 }


 }
您可以在代码中使用简单的随机选择器逻辑,如下所示


正如GökcanD所提到的,您可以使用一个简单的随机数生成器,但如果您有很多可能性,请使用一个语句:

itemList.setOnItemClickListener(new AdapterView.OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> parent, View view, int   position, long id) {

        switch (Random.nextInt(5) + 1) {
            case 1: Toast.makeText(getApplicationContext(), "This is exactly what should be done "+position, Toast.LENGTH_LONG).show(); break;
            case 2: Toast.makeText(getApplicationContext(), "You are completely wrong! "+position, Toast.LENGTH_LONG).show(); break;
            case 3: Toast.makeText(getApplicationContext(), "This is good "+position, Toast.LENGTH_LONG).show(); break;
            case 4: Toast.makeText(getApplicationContext(), "This is really good "+position, Toast.LENGTH_LONG).show(); break;
            case 5: Toast.makeText(getApplicationContext(), "This is perfect"+position, Toast.LENGTH_LONG).show(); break;
            default: break;
        }

    }
});

假设listview中有5个项目,并单击每个项目,则希望显示不同的toast消息。试试这个:

itemList.setOnItemClickListener(new AdapterView.OnItemClickListener() {

   @Override
   public void onItemClick(AdapterView<?> parent, View view, int   position, long id) {
        String sMessage = "";
        switch(position) {
            case 0: sMessage = "This is exactly what should be done "; break;
            case 1: sMessage = "You are completely wrong! "; break;
            case 2: sMessage = "This is good "; break;
            case 3: sMessage = "This is really good "; break;
            case 4: sMessage = "This is perfect "; break;
        }
        Toast.makeText(getApplicationContext(), sMessage+position, Toast.LENGTH_LONG).show();
    }
});

快乐编码

如果我有两个以上的项目,比如说100??我更新了上面的代码。我们是否应该使用else if then?如果是,如何?嗨,它工作得很好,但是请检查我编辑了我的问题,你能指导我吗?嗨,它工作得很好,但是请检查我编辑了我的问题,你能指导我吗?你应该尽量不要发布移动目标的问题。答案现在不再与新编辑的问题对应。相反,你应该接受一个答案,就像你已经接受的那样,然后发布一个新的问题。对不起,先生,我已经在这里发布了这个问题,但是我没有得到任何回应。请帮助我:
itemList.setOnItemClickListener(new AdapterView.OnItemClickListener() {

   @Override
   public void onItemClick(AdapterView<?> parent, View view, int   position, long id) {
        String sMessage = "";
        switch(position) {
            case 0: sMessage = "This is exactly what should be done "; break;
            case 1: sMessage = "You are completely wrong! "; break;
            case 2: sMessage = "This is good "; break;
            case 3: sMessage = "This is really good "; break;
            case 4: sMessage = "This is perfect "; break;
        }
        Toast.makeText(getApplicationContext(), sMessage+position, Toast.LENGTH_LONG).show();
    }
});