2015-10-21 3 views
0

Я получаю эту ошибку - Не удается разрешить метод onListItemClick (android.widget.ListView, android.view.View, int, long) ' Я пробовал использовать метод onClickListener, но это не работает , Пожалуйста, предложите.Не удается разрешить метод 'OnListItemClick'

Вот код-

public class MainActivity extends AppCompatActivity implements FragmentDrawer.FragmentDrawerListener { 

private Toolbar mToolbar; 
private FragmentDrawer drawerFragment; 
ListView listview; 


String[] pdflist; 
File[] imagelist; 

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

    mToolbar = (Toolbar) findViewById(R.id.toolbar); 

    setSupportActionBar(mToolbar); 
    getSupportActionBar().setDisplayShowHomeEnabled(true); 

    drawerFragment = (FragmentDrawer) 
      getSupportFragmentManager().findFragmentById(R.id.fragment_navigation_drawer); 
    drawerFragment.setUp(R.id.fragment_navigation_drawer, (DrawerLayout) findViewById(R.id.drawer_layout), mToolbar); 
    drawerFragment.setDrawerListener(this); 


    File images = Environment.getExternalStorageDirectory(); 
    imagelist = images.listFiles(new FilenameFilter() { 
     public boolean accept(File dir, String name) { 
      return ((name.endsWith(".pdf"))); 
     } 
    }); 
    pdflist = new String[imagelist.length]; 
    for (int i = 0; i < imagelist.length; i++) { 
     pdflist[i] = imagelist[i].getName(); 
    } 
    listview.setAdapter(new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_1, pdflist)); 

     } 


protected void onListItemClick(ListView l, View v, int position, long id) { 
    super.onListItemClick(l, v, position, id); 
    String path = imagelist[(int) id].getAbsolutePath(); 
    openPdfIntent(path); 
} 



private void openPdfIntent(String path) { 
    try { 
     final Intent intent = new Intent(MainActivity.this, Second.class); 
     intent.putExtra(PdfViewerActivity.EXTRA_PDFFILENAME, path); 
     startActivity(intent); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
+0

пытается простирающимся класс 'ListActivity' –

+0

я не могу, так как мне нужно включить штриховые функции действия. – TeeKay

ответ

0

Используйте вместо этого:

yourListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 

     } 
    }); 
+0

Работал для меня. Спасибо! – TeeKay

0

Замените эту строку из

public class MainActivity extends AppCompatActivity implements FragmentDrawer.FragmentDrawerListener { 

в

public class MainActivity extends AppCompatActivity implements FragmentDrawer.FragmentDrawerListener, OnItemClickListener { 

и добавьте следующие строки в onCreate() методе:

listview = (ListView) findViewById(R.id.listView1); 
listview.setOnItemClickListener(this);