我要做的是在我的应用程序中有一个ViewPager部分,用户可以滚动查看结果。我正在使用Android Studio。
目前,我正在这样显示结果,通过将值串联起来将它们输出到out:
主要活动.java的一部分:
我想做的是在单独的视图中为每个结果提供滚动功能,但这时我有点迷失/困惑。我已经实现了我的Fragment。主要代码在MainActivity.java中。
在activity_main.xml布局中,我已经用ViewPager替换了out和type字段:
活动主要部分的XML代码:
被调用时,它会加载这个类并使用我的result_slider布局来显示信息:
ScreenSlidePageFragment.java
如何将我的结果数据传递到ViewPager中的一个窗格?使用下面的代码,我没有得到任何错误,但是应用程序崩溃并显示“Error inflating class android.support.v4.view.ViewPager”错误信息。
目前,我正在这样显示结果,通过将值串联起来将它们输出到out:
主要活动.java的一部分:
class CustomOnItemSelectedListener implements AdapterView.OnItemSelectedListener {
public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) {
String tempValue = spinner1.getSelectedItem().toString();
float inputValue;
if(text.getText().length() == 0) {
inputValue = Float.parseFloat("10");
text.setText("10");
}
else {
inputValue = Float.parseFloat(text.getText().toString());
}
if ("Fahrenheit".equals(tempValue)) {
out.setText(String.valueOf(ConverterUtil.convertFahrenheitToCelsius(inputValue)) + " & " + String.valueOf(ConverterUtil.convertFahrenheitToKelvin(inputValue)));
type.setText("Celsius + Kelvin");
}
if ("Celsius".equals(tempValue)) {
out.setText(String.valueOf(ConverterUtil.convertCelsiusToFahrenheit(inputValue)) + " & " + String.valueOf(ConverterUtil.convertCelsiusToKelvin(inputValue)));
type.setText("Fahrenheit + Kelvin");
}
if ("Kelvin".equals(tempValue)) {
out.setText(String.valueOf(ConverterUtil.convertKelvinToCelsius(inputValue)) + " & " + String.valueOf(ConverterUtil.convertKelvinToFahrenheit(inputValue)));
type.setText("Celsius + Fahrenheit");
}
}
我想做的是在单独的视图中为每个结果提供滚动功能,但这时我有点迷失/困惑。我已经实现了我的Fragment。主要代码在MainActivity.java中。
class ScreenSlidePagerActivity extends FragmentActivity
{
private static final int NUM_PAGES = 2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mPager = (ViewPager) findViewById(R.id.pager);
mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
mPager.setAdapter(mPagerAdapter);
}
private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
public ScreenSlidePagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return new ScreenSlidePageFragment();
}
@Override
public int getCount() {
return NUM_PAGES;
}
}
}
在activity_main.xml布局中,我已经用ViewPager替换了out和type字段:
活动主要部分的XML代码:
<android.support.v4.view.ViewPager
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
被调用时,它会加载这个类并使用我的result_slider布局来显示信息:
ScreenSlidePageFragment.java
public class ScreenSlidePageFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
ViewGroup rootView = (ViewGroup) inflater.inflate(
R.layout.result_slider, container, false);
return rootView;
}
}
result_slider.xml
<com.example.temperatureconverter
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView style="?android:textAppearanceMedium"
android:padding="16dp"
android:lineSpacingMultiplier="1.2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Hello World" />
</com.example.temperatureconverter>
如何将我的结果数据传递到ViewPager中的一个窗格?使用下面的代码,我没有得到任何错误,但是应用程序崩溃并显示“Error inflating class android.support.v4.view.ViewPager”错误信息。