不显示通过Intent传递的数据

时间:2015-05-04 22:54:05

标签: android android-studio

我在主要活动中有这个:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                String forecast = mForecastAdapter.getItem(position);
                Intent intent = new Intent(getActivity(),DetailActivity.class)
                        .putExtra(Intent.EXTRA_TEXT,forecast);
                startActivity(intent);
            }
        });

点击工作正常,因为我之前使用TOAST进行了测试。我试图在DetailActivity片段中传递该预测字符串,在文本视图中最初显示&#34; Hello world!&#34;。这是我正在使用的代码:

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        Intent intent = getActivity().getIntent();
        View rootView = inflater.inflate(R.layout.fragment_detail, container, false);
        if(intent != null && intent.hasExtra(Intent.EXTRA_TEXT)){
           String forecastStr = intent.getStringExtra(Intent.EXTRA_TEXT);
            ((TextView) rootView.findViewById(R.id.detail_text)).setText(forecastStr);
        }


        return rootView;
    }

问题是if从未执行过,因为我用Log.v(TAG,"TestIfStatement");

测试了它

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您可以尝试以下代码段:

TextView myTextView = (TextView) rootView.findViewById(R.id.detail_text);
myTextView.setText(mForcastStr.toCharArray(), 0, mForcastStr.length());

在我的应用程序中工作。