2017-06-12 70 views
-1

我试图写我的第一个android应用程序。现在我有一个问题 - setOnItemClickListener不起作用。我在手机上启动了此应用程序,但按钮无法使用。贝娄你可以看到我的代码。如果需要,我准备回答其他问题。感谢您的关注。setOnItemClickListener - 不起作用

public class MainActivity extends Activity { 

static class ElementSong { 
    String SongName;   
    ElementSong(String name) { 
     this.SongName = name; 
    } 

} 

@Override 

protected void onCreate(@Nullable Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    final EditText searchField = (EditText) findViewById(R.id.search_field); findViewById(R.id.Search_button); 

    final Button SearchButton = (Button) findViewById(R.id.Search_button); 
    final ListView item = (ListView) findViewById(R.id.item); 
    final ItemsAdapter adapter = new ItemsAdapter(); 
    final Button SongButton = (Button) findViewById(R.id.SongButton); 
    item.setAdapter(adapter); 

    Integer.valueOf(price.getText().toString()))); 

    InputStream databaseInputStream = getResources().openRawResource(R.raw.data); 
    BufferedReader br = null; 
    StringBuilder sb = new StringBuilder(); 
    String line; 


    br = new BufferedReader(new InputStreamReader(databaseInputStream)); 
    try { 
     while ((line = br.readLine()) != null) { 

      //will be some code here 

     } 

     br.close(); 

    } catch (FileNotFoundException e) { 

    } catch (IOException e) { 

    } 


    adapter.add(new ElementSong("123")); 

    item.setOnItemClickListener(new OnItemClickListener() { 
     @Override 

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

      System.exit(0); 
     } 
    }); 

} 




private class ItemsAdapter extends ArrayAdapter<ElementSong> { 
    public ItemsAdapter() { 
     super(MainActivity.this, R.layout.item); 
    } 


    @NonNull 
    @Override 
    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) { 


     final View view = getLayoutInflater().inflate(R.layout.item, null); 
     final ElementSong item = getItem(position); 
     view.findViewById(R.id.SongButton)).setText(item.SongName); 

     return view; 

    } 

}} 
+1

什么是错误? – Kaushal28

+0

你没有在任何'Button'上设置'click listener',而是将它设置为你的'ListeView'。 –

+0

你想要做什么 – Anil

回答

0

替换system.exit(0);finish(); 或任何其他操作。所以你知道点击是否被执行。

+0

和'System.exit(0);' - 这部分代码仅用于按钮测试。在应用程序的其他部分 - 此代码正常工作。关于我的目标,我有许多相同的按钮元素由adapter.add创建(新的ElementSong(“123”));(之后它将在循环中创建,但现在它不重要)。现在我想确定 - 每个按钮都能正常工作。 – mortiis

相关问题