Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ImageView没有';t显示图像_Java_Android_Android Viewpager_Imageview - Fatal编程技术网

Java ImageView没有';t显示图像

Java ImageView没有';t显示图像,java,android,android-viewpager,imageview,Java,Android,Android Viewpager,Imageview,我想在ImageView中浏览3个图像,该视图在ViewPager中膨胀。当我运行应用程序时,我可以浏览3个空白页面/图像,不显示任何图像。 图像位于res/drawable文件夹中 我已经尝试在stack overflow上添加这里建议的每一行代码,因为我已经浏览了所有与此相关的帖子(您将在我将提供的代码中看到它们)。 我曾尝试将图像的大小调整为300x300,但仍然不起作用。 我尝试将图像放在drawable文件夹的子文件夹中,或者在hdpi、mdpi、xdpi…etc文件夹中,出现编译错误

我想在
ImageView
中浏览3个图像,该视图在
ViewPager
中膨胀。当我运行应用程序时,我可以浏览3个空白页面/图像,不显示任何图像。 图像位于
res/drawable
文件夹中

我已经尝试在stack overflow上添加这里建议的每一行代码,因为我已经浏览了所有与此相关的帖子(您将在我将提供的代码中看到它们)。 我曾尝试将图像的大小调整为300x300,但仍然不起作用。 我尝试将图像放在drawable文件夹的子文件夹中,或者在
hdpi、mdpi、xdpi…
etc文件夹中,出现编译错误

1) 活动的xml文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

    <androidx.viewpager.widget.ViewPager
        android:id="@+id/viewPager"
        android:layout_width="match_parent"
        android:layout_height="480dp"
        android:visibility="visible"
        tools:visibility="visible"> </androidx.viewpager.widget.ViewPager>


</RelativeLayout>
package com.example.apptest;

import android.app.Activity;
import android.os.Bundle;

import androidx.appcompat.app.AppCompatActivity;
import androidx.viewpager.widget.ViewPager;

public class menuSliderActivity extends AppCompatActivity {

    private ViewPager viewPager;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.menu_slider);

        viewPager = (ViewPager) findViewById(R.id.viewPager);
        ViewPagerAdapter viewPagerAdapter = new ViewPagerAdapter(this);
        viewPager.setAdapter(viewPagerAdapter);

    }
}

4) android清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.apptest">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission 
android:name="android.permission.READ_EXTERNAL_STORAGE"/>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:largeHeap="true"
        android:hardwareAccelerated="false"

        android:theme="@style/AppTheme">
        <activity android:name=".menuSliderActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".MainActivity"></activity>

    </application>

</manifest>
}

正常情况下,我应该能够看到我的图像并浏览它们,但我没有收到任何错误,页面是空白的。

尝试执行此测试

替换换行\u内容以匹配\u父项

<ImageView
        android:id="@+id/imageView"
        android:layout_width="match_parent" 
        android:layout_height="match_parent"
        android:scaleType="centerInside"
        android:src="@mipmap/ic_launcher" />

这对我来说非常有效

@Override
public boolean isViewFromObject(View view, Object object) {
    return view.equals(object);
}

@Override
public void destroyItem(ViewGroup container, int position, Object object) {
    container.removeView((View)object);
}
而不是这个

 @Override
public boolean isViewFromObject(View view, Object object) {
    return false;
}

@Override
public void destroyItem( ViewGroup container, int position,  Object object) {
    ViewPager vp = (ViewPager) container;
    View view = (View) object;
    vp.removeView((View)view);

}
改变这个

@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
    return view == o;
}

你如何实例化“图像”?你的
图像资源
图像[位置]
@haythemsouissi没有任何关系。我在帖子中发布了这个函数,请看一下。@StavroXhardha你有什么建议?我是Android Studio和Java的初学者。image[position]返回R.drawable.your_image?我试过了,它没有改变任何东西。不过谢谢你。我早上试过这个(返回视图。等于(对象);),它返回了一个错误,现在它像一个符咒一样工作!也许我一整天都在改变的一行代码现在起作用了。非常感谢。
 @Override
public boolean isViewFromObject(View view, Object object) {
    return false;
}

@Override
public void destroyItem( ViewGroup container, int position,  Object object) {
    ViewPager vp = (ViewPager) container;
    View view = (View) object;
    vp.removeView((View)view);

}
@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
    return view == o;
}