如何在同一活动中在android中传递imageview?

时间:2014-06-09 08:12:27

标签: android android-layout

  • 我很少在android中使用图像视图。我想在每次间隔后显示图像视图,因为我想从服务器上显示广告。我想将图像视图作为图像视图传递给函数。但是当我在适配器类上工作时,我不知道如何从oncreate传递图像视图,并且整数数组的可绘制图像可以正常工作。
  • 请建议我如何传递图片视图,因为我尝试通过并尝试了大量转换,但失败了。

  • MainActivity.java

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // here i want to take image and pass it on via loadphoto


        loadPhoto(R.drawable.ic_launcher, 400, 100);
    }


    private void loadPhoto(ImageView imageView, int width, int height) {

        ImageView tempImageView = imageView;


        AlertDialog.Builder imageDialog = new AlertDialog.Builder(this);
        LayoutInflater inflater = (LayoutInflater) this.getSystemService(LAYOUT_INFLATER_SERVICE);

        View layout = inflater.inflate(R.layout.activity_main,
                (ViewGroup) findViewById(R.id.layout_root));
        ImageView image = (ImageView) layout.findViewById(R.id.fullimage);
        image.setImageDrawable(tempImageView.getDrawable());
        imageDialog.setView(layout);
        imageDialog.setPositiveButton("OK", new DialogInterface.OnClickListener(){

            public void onClick(DialogInterface dialog, int which) {
                dialog.dismiss();
            }

        });


        imageDialog.create();
        imageDialog.show();     
    }

}

actvity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layout_root"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="horizontal"
    android:padding="10dp" >

    <ImageView
        android:id="@+id/fullimage"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    </ImageView>

    <TextView
        android:id="@+id/custom_fullimage_placename"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:textColor="#FFF" >
    </TextView>

</LinearLayout>
  • 提前致谢

1 个答案:

答案 0 :(得分:0)

  

每次间隔后显示图像视图,因为我想从服务器上显示广告   这意味着您应该使用(需要)Timer任务(简单)或调度线程使其可运行。   在new Runnable() { // Your work here: // Load the image }

同样通知:更新图片在UI线程上执行。 对不起,你的问题可能太过分了。

  1. 如果你已经有了你的图片(在你的drawable / raw /文件夹中),我建议你解析一个整数,例如loadPhoto(Integer imageSourceID, Context mContext)并使用getResource()
  2. 加载它
  3. 如果你从服务器(下载)得到它,那么asynctask将是一个不错的选择。在onPreExcute中准备你的UI,在onDoinBackground()上做你的工作并在onPostExcute()中更新
  4. 我希望这些会对你有所帮助  4.