我在开始新活动时打开了空白活动

时间:2017-10-30 17:29:46

标签: android xml android-studio android-intent android-activity

我正在使用this library进行多个图像选择。用户完成选择照片后,应开始另一项活动(current_location.class)。

这是我的代码:

public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == OPEN_MEDIA_PICKER) {
            // Make sure the request was successful
            if (resultCode == RESULT_OK && data != null) {
                selectionResult = data.getStringArrayListExtra("result");
                Intent intent = new Intent(getActivity(), currentLocation.class);
                intent.putExtra("selectedMedia", selectionResult);
                startActivity(intent);
            }
        }
    }

新活动已成功启动但其空白!

以下是我的currentLocation.java活动:

public class currentLocation extends AppCompatActivity {

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) {
        super.onCreate(savedInstanceState, persistentState);
        setContentView(R.layout.current_location);
    }
}

这是current_location.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/bg_view">

</android.support.constraint.ConstraintLayout>

它应该有背景颜色,我也尝试添加按钮,但我总是开始空白活动

是我开始新活动的方式的问题吗?或者从我将xml布局设置为currentLocation类的方式?

3 个答案:

答案 0 :(得分:3)

尝试更改@Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.current_location); } 方法。 请改用以下内容:

void arrayStack<Type>::push(const Type& word) {
    if (topStack != maxStackSize){
        list[topStack++] = word; // adding a new word to the STACK
    }
    else
        increaseStackSize();
    count++;
}

答案 1 :(得分:0)

替换appUnless

Intent intent = new Intent(getActivity(), currentLocation.class);

同时检查清单中是否有Intent intent = new Intent(this.getActivity(), currentLocation.class);

答案 2 :(得分:0)

也许这没关系,但我会尝试两件事来降低错误的可能性。

  1. 如果从活动结果数据意图中获取StringArrayListExtra,我会对intent使用putStringArrayListExtra()

  2. 在创建新意图时,我会使用特定的活动/片段上下文 例如。 new Intent(className.this,currentLocation.class);
    或新的Intent(className.this.getActivity(),currentLocation.class);