相关疑难解决方法(0)

RecyclerView onClick

有没有人使用RecyclerView找到一种方法来设置一个onClickListener项目RecyclerView?我想为每个项目的每个布局设置一个监听器,但这似乎有点太麻烦我确信有一种方法RecyclerView可以听取这个onClick事件,但我无法弄明白.

android onclick onclicklistener android-recyclerview

544
推荐指数
24
解决办法
54万
查看次数

在RecyclerView中使用图标显示字符串的最简单方法

什么是最简单的方法来显示一个字符串和图标列表RecyclerView

因为ListView没有单独的适配器的情况下使用以下代码(这里是GitHub上的完整项目):

应用截图

mListView = (ListView) findViewById(R.id.list_view);

mListView.setAdapter(new ArrayAdapter<String>(this,
        android.R.layout.simple_list_item_1,
        mPlanets) {
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        TextView view = (TextView) super.getView(position, convertView, parent);
            view.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ic_stars_black_24dp, 0, 0, 0);
            return view;
    }
});
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent,
                                View view,
                                int position,
                                long id) {
        Toast.makeText(getApplicationContext(),
                    "You have clicked " + mPlanets[position],
                    Toast.LENGTH_LONG).show();
    }
});
Run Code Online (Sandbox Code Playgroud)

我不知道如何使用ArrayAdapter,并android.R.layout.simple_list_item_1RecyclerView …

android listview android-recyclerview

10
推荐指数
2
解决办法
2万
查看次数

如何使用StartActivityForResult()

在我的应用程序中,我需要快速 询问用户input.

我需要从这个 Flash-Activity 获得一个结果,然后回到上一个.

我已经读过这个StartActivityForResult()方法,但我还不确定如何正确使用它,任何例子?

编辑:

我试图通过intent(作为结果)使用我在应用于StartActivityForResult()的此方法的所有应用程序中使用的方法传递Player对象:

在我的第二个Activity(我需要得到结果的那个):

Intent intent = new Intent();
Player playerKilled = players.get(position);

Bundle bundle = new Bundle();
bundle.putSerializable("PLAYER_KILLED", (Serializable) playerKilled);
intent.putExtras(bundle);

setResult(Activity.RESULT_OK, intent);
finish();
Run Code Online (Sandbox Code Playgroud)

我的主要活动,我需要将结果带到:

if (resultCode == Activity.RESULT_OK) {

    Intent intent = this.getIntent();
    Bundle bundle = intent.getExtras();
    playerKilled = (Player)bundle.getSerializable("PLAYER_KILLED");

    Toast.makeText(this, playerKilled.getName() + "the " + playerKilled.getCardName() + " has died, and he/she had the ID: " + playerKilled.getId(), Toast.LENGTH_SHORT).show();
Run Code Online (Sandbox Code Playgroud)

android android-fragments

7
推荐指数
1
解决办法
3万
查看次数

RecyclerView 的 OnClickListener

与 ListView 不同,Android RecyclerView 的实现似乎太复杂了。由于 RecyclerView 子项没有 OnItemClickListener,因此我一直在尝试实现以下方法来注册单击事件:

final RecyclerView rv=(RecyclerView)findViewById(R.id.recycler_view);
    LinearLayoutManager llm=new LinearLayoutManager(this);
    rv.setLayoutManager(llm);
    MyRVAdapter rva=new MyRVAdapter(persons);
    rv.setAdapter(rva);

    rv.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            int itemPosition = rv.indexOfChild(v);
            Log.d("Tag", String.valueOf(itemPosition));
        }
    });
Run Code Online (Sandbox Code Playgroud)

由于某种原因,我无法让这段代码工作。点击事件根本没有注册!有人可以告诉我我做错了什么吗?我已经看到了一些解决方案,但我认为这应该可行。感谢您的帮助!

android view onclicklistener android-recyclerview

4
推荐指数
2
解决办法
2万
查看次数