Android - 在同一个类

时间:2017-07-08 09:53:08

标签: java android

我想将选定的videoUri传递给内部类(在同一活动中)。

我尝试用bundle.putString执行此操作,我不确定是否可以使用bundle实现此功能,我也在考虑使用Intent.putExtra执行此操作,但我没有将其传递给新活动?

这就是我的尝试:

@Override
public void OnClickVideo(Uri videoUri) {

    Bundle bundle = new Bundle();
    bundle.putString("MyBundle", videoUri.toString());

    DoAction();

}

private void DoAction() {
    mStringFilePath = getIntent().getStringExtra("MyBundle");

    Toast.makeText(getApplicationContext(), mStringFilePath, Toast.LENGTH_LONG).show();

}

Toast为空......

我的问题:

有没有办法在同一个类中传递数据/字符串?

2 个答案:

答案 0 :(得分:1)

你可以直接传递,不需要捆绑。捆绑包是在Android组件之间传输。

@Override
public void OnClickVideo(Uri videoUri) {

    DoAction(videoUri.toString());

}

private void DoAction(String videoUri) {

    Toast.makeText(getApplicationContext(), videoUri, Toast.LENGTH_LONG).show();

}

或者您可以直接在该方法中执行

@Override
public void OnClickVideo(Uri videoUri) {


    Toast.makeText(getApplicationContext(), videoUri.toString(), Toast.LENGTH_LONG).show();

}

答案 1 :(得分:1)

如果你在同一个班级使用意味着喜欢这个

@Override
public void OnClickVideo(Uri videoUri) {

DoAction(videoUri.toString());

}


private void DoAction(String mStringFilePath) {

Toast.makeText(getApplicationContext(), mStringFilePath, Toast.LENGTH_LONG).show();

}