我在主要活动中有这个:
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");
我做错了什么?
答案 0 :(得分:0)
您可以尝试以下代码段:
TextView myTextView = (TextView) rootView.findViewById(R.id.detail_text);
myTextView.setText(mForcastStr.toCharArray(), 0, mForcastStr.length());
在我的应用程序中工作。