当我尝试访问元素whith setOnItemClickListener时,我的android应用程序突然停止

时间:2015-05-05 21:48:37

标签: android

我做了一个小菜单,如果点击一个元素,我正试图访问一个意图。然后突然停了下来我究竟做错了什么? (该数组已在XML值上填充)

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    String[] adobe_products = getResources().getStringArray(R.array.adobe_products);
    this.setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, R.id.label, adobe_products));

    ListView lv = getListView();

    lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {

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

            String selection = ((TextView) v).getText().toString();

            if (selection=="Extras"){
                Intent i = new Intent(getApplicationContext(), Novedades.class);
                startActivity(i);}



        }
    });
}

3 个答案:

答案 0 :(得分:0)

从不在java比较像这样的字符串

if (selection == "Extras"){
  Intent i = new Intent(getApplicationContext(), Novedades.class);
  startActivity(i);
}

使用selection.equals("Extras");

但我很确定你的问题就在这里

String selection = ((TextView) v).getText().toString();

答案 1 :(得分:0)

您的selection变量可能为空,可能就是原因 您的应用程序崩溃并使用equals函数而不是"=="

if (selection != null && selection.equals("Extras")
{
  Intent i = new Intent(getApplicationContext(), Novedades.class);
  startActivity(i);
}

答案 2 :(得分:0)

我意识到了这个错误。

我忘了将意图包含在Manifest.xml中

感谢大家的时间和回应。