Java 尝试在用户滑动时显示不同的图像-Android开发
我对安卓系统的开发还比较陌生,希望能在这里得到一些帮助。我在一页中添加了两个片段。顶部的片段是一个ImageView,底部是随机按钮和文本。当用户在屏幕上向左或向右滑动时,我试图在顶部片段(ImageView)中显示不同的图像。我的代码基于另一个:。然而,当我尝试运行它时,我一直收到下面的错误。我在错误下方粘贴了我认为相关的代码。请让我知道,如果我需要张贴额外的代码!多谢各位 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:FATAL EXCEPTION:main 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:Process:com.newmoney.night_life_now,PID:3996 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:java.lang.RuntimeException:无法启动活动组件信息{com.newmoney.night_life_now/com.newmoney.night_life_now.main活动}:android.view.InflateException:二进制XML文件行#21:膨胀类片段时出错 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2693) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2758) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:android.app.ActivityThread.access$900(ActivityThread.java:177) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:at android.os.Handler.dispatchMessage(Handler.java:102) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:at android.os.Looper.loop(Looper.java:145) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:android.app.ActivityThread.main(ActivityThread.java:5942) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:at java.lang.reflect.Method.invoke(本机方法) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:at java.lang.reflect.Method.invoke(Method.java:372) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:原因:android.view.InflateException:二进制XML文件行#21:膨胀类片段时出错 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:770) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:android.view.LayoutInflater.rInflate(LayoutInflater.java:813) 12-01 21:48:08.686 3996-3996/com.newmoney.night\u life\u now E/AndroidRuntime:android.view.LayoutInflater.rInflate(LayoutInflater.java:821) 12-01 21:48:08.686 3996-3996/com.newmoney.night\u life\u now E/AndroidRuntime:android.view.LayoutInflater.rInflate(LayoutInflater.java:821) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:at android.view.LayoutInflater.parseInclude(LayoutInflater.java:933) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:android.view.LayoutInflater.rInflate(LayoutInflater.java:809) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:at-android.view.LayoutInflater.inflate(LayoutInflater.java:511) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:at-android.view.LayoutInflater.inflate(LayoutInflater.java:415) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:at-android.view.LayoutInflater.inflate(LayoutInflater.java:366) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:位于android.support.v7.app.appcompatidelegateimplv7.setContentView(appcompatidelegateimplv7.java:249) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:位于android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:106) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:com.newmoney.night_life_now.MainActivity.onCreate(MainActivity.java:27) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:at-android.app.Activity.performCreate(Activity.java:6289) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:at-android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2758) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:android.app.ActivityThread.access$900(ActivityThread.java:177) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:at android.os.Handler.dispatchMessage(Handler.java:102) 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/AndroidRuntime:at android.os.Looper.loop(Looper.java:145) 12-01 21:48:08.686 3996-3996/com.newmonJava 尝试在用户滑动时显示不同的图像-Android开发,java,android,android-layout,android-fragments,android-viewpager,Java,Android,Android Layout,Android Fragments,Android Viewpager,我对安卓系统的开发还比较陌生,希望能在这里得到一些帮助。我在一页中添加了两个片段。顶部的片段是一个ImageView,底部是随机按钮和文本。当用户在屏幕上向左或向右滑动时,我试图在顶部片段(ImageView)中显示不同的图像。我的代码基于另一个:。然而,当我尝试运行它时,我一直收到下面的错误。我在错误下方粘贴了我认为相关的代码。请让我知道,如果我需要张贴额外的代码!多谢各位 12-01 21:48:08.686 3996-3996/com.newmoney.night_life_now E/A
public class MainActivity extends AppCompatActivity {
// For this example, only two pages
static final int NUM_ITEMS = 3;
ViewPager mPager;
SlidePagerAdapter mPagerAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button clickButton = (Button) findViewById(R.id.getDirectionsButton);
clickButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "Get Directions Pressed", Toast.LENGTH_LONG).show();
}
});
/* Instantiate a ViewPager and a PagerAdapter. */
mPager = (ViewPager) findViewById(R.id.pager);
mPagerAdapter = new SlidePagerAdapter(getSupportFragmentManager());
mPager.setAdapter(mPagerAdapter);
}
/* PagerAdapter class */
public class SlidePagerAdapter extends FragmentPagerAdapter {
public SlidePagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
/*
* IMPORTANT: This is the point. We create a RootFragment acting as
* a container for other fragments
*/
if (position == 0) {
Log.w("MainAct", "pos0");
return new Picture_Section_Fragment().newInstance(position);
} else {
Log.w("MainAct", "pos1");
return new Picture_Section_Fragment().newInstance(position);
}
}
@Override
public int getCount() {
return NUM_ITEMS;
}
}
public class Picture_Section_Fragment extends Fragment{
private int mPosition;
private ViewPager mPager;
private PagerAdapter mPagerAdapter;
public static Picture_Section_Fragment newInstance(int pos){
Picture_Section_Fragment frag = new Picture_Section_Fragment();
Bundle args = new Bundle();
args.putInt("pos", pos);
frag.setArguments(args);
return frag;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPosition = getArguments().getInt("pos");
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
String urlString = null;
View view = inflater.inflate(R.layout.picture_section_fragment, container, false); // this is what layout to use for fragment
//String urlString = "http://hdwallpapers.thenewstrack.com/wp-content/uploads/2015/08/New-York-City-Hd-Wallpaper-Free-Download-3.jpg";
//new DownloadImageTask((ImageView) view.findViewById(R.id.barclubImages)).execute(urlString);
//mPosition = getArguments().getInt("pos");
switch(mPosition){
case 0:
Log.w("PicSecFrag", "Case0");
urlString = "http://hdwallpapers.thenewstrack.com/wp-content/uploads/2015/08/New-York-City-Hd-Wallpaper-Free-Download-3.jpg";
new DownloadImageTask((ImageView) view.findViewById(R.id.barclubImages)).execute(urlString);
break;
case 1:
urlString = "http://7-themes.com/data_images/out/60/6975166-beach-hd-wallpaper-6468.jpg";
new DownloadImageTask((ImageView) view.findViewById(R.id.barclubImages)).execute(urlString);
break;
default:
urlString = "http://1.bp.blogspot.com/-9VWTk3LsUrU/UAe8GnV6hWI/AAAAAAAAHCw/ATOzf-5b230/s1600/Hdhut.blogspot.com+(12).jpg";
new DownloadImageTask((ImageView) view.findViewById(R.id.barclubImages)).execute(urlString);
}
return view;
}
private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
ImageView bmImage;
public DownloadImageTask(ImageView bmImage) {
this.bmImage = bmImage;
}
protected Bitmap doInBackground(String... urls) {
String urldisplay = urls[0];
Bitmap mIcon11 = null;
try {
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
} catch (Exception e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return mIcon11;
}
protected void onPostExecute(Bitmap result) {
bmImage.setImageBitmap(result);
}
}
return Picture_Section_Fragment.newInstance(position);