安卓工作室。当我使用intent.putextra时没有任何反应

时间:2017-10-11 19:51:20

标签: android android-intent

我是这个世界的新人。我正在关注在线指南以学习该语言。

我想让记事本工作,但我无法重新打开已创建的笔记。 我使用调试器,但它似乎调用了活动,但它永远不会打开。

电话。

public class NoteEditorActivity extends AppCompatActivity {

private Toolbar mToolbar;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_note_editor);


    mToolbar = (Toolbar)findViewById(R.id.toolbar);
    setSupportActionBar(mToolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); //remove this line in the MainActivity.java

    if (savedInstanceState == null){
        Bundle args = getIntent().getExtras();
        if (args != null && args.containsKey("id")){
            long id = args.getLong("id", 0);
            if (id > 0){
                openFragment(NotePlainEditorFragment.newInstance(id), "Editor");
            }
        }
        openFragment(NotePlainEditorFragment.newInstance(0), "Editor");
    }
}

我可以看到editorIntent.putExtra(" id",selectedNote.getId());正在调用带有id的动作,但当我看到收到意图的部分时,没有任何事情发生。

program test1
implicit none
print *, "Hello World!"
end program test1

但是在这段代码中没有任何反应。

有人可以给我一个暗示吗?

关心Danni。

1 个答案:

答案 0 :(得分:0)

更改此代码

mRecyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
    @Override
    public boolean onInterceptTouchEvent(RecyclerView recyclerView, MotionEvent motionEvent) {
        View child = recyclerView.findChildViewUnder(motionEvent.getX(), motionEvent.getY());

        if (child != null && mGestureDetector.onTouchEvent(motionEvent)) {
            int position = recyclerView.getChildLayoutPosition(child);
            Note selectedNote = mNotes.get(position);
            Intent editorIntent = new Intent(getActivity(), NoteEditorActivity.class);
            editorIntent.putExtra("id", selectedNote.getId());
        }
        return false;
    }

mRecyclerView.addOnItemTouchListener(new RecyclerView.OnItemTouchListener() {
    @Override
    public boolean onInterceptTouchEvent(RecyclerView recyclerView, MotionEvent motionEvent) {
        View child = recyclerView.findChildViewUnder(motionEvent.getX(), motionEvent.getY());

        if (child != null && mGestureDetector.onTouchEvent(motionEvent)) {
            int position = recyclerView.getChildLayoutPosition(child);
            Note selectedNote = mNotes.get(position);
            Intent editorIntent = new Intent(getActivity(), NoteEditorActivity.class);
            editorIntent.putExtra("id", selectedNote.getId());
            startActivity(editorIntent);
        }
        return false;
    }

您需要致电startActivity以开始从当前活动到所需活动的交易

并尝试在下一个活动中获取此ID,请在onCreate()

中使用此代码
Intent intent = getIntent(); 
String id = intent.getStringExtra("id");