首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法解决方法'OnListItemClick‘

无法解决方法'OnListItemClick‘
EN

Stack Overflow用户
提问于 2015-10-21 12:06:48
回答 2查看 1.1K关注 0票数 1

我得到了这个错误--无法解决方法'onListItemClick(android.widget.ListView,android.view.View,int,long)‘,我尝试过使用onClickListener方法,但这不起作用。请建议一下。

这是密码-

代码语言:javascript
复制
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();
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-10-21 12:14:38

用这个代替:

代码语言:javascript
复制
 yourListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

        }
    }); 
票数 2
EN

Stack Overflow用户

发布于 2015-10-21 12:15:33

将此行替换为

代码语言:javascript
复制
public class MainActivity extends AppCompatActivity implements FragmentDrawer.FragmentDrawerListener {

代码语言:javascript
复制
public class MainActivity extends AppCompatActivity implements FragmentDrawer.FragmentDrawerListener, OnItemClickListener {

并在onCreate()方法中添加以下行:

代码语言:javascript
复制
listview = (ListView) findViewById(R.id.listView1);
listview.setOnItemClickListener(this);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33258882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档