android - 图像查看器 fragment (Android)

标签 android android-layout android-fragments android-imageview android-image

我正在尝试创建一个简单的 fragment ,该 fragment 仅在单击时显示图像。我收到许多错误,包括“方法 findViewbyId(int) 未为类型 ExampleFragment 定义”、“Inflater 无法解析”和“imageview_main 无法解析或不是字段”。 imageview_main 是我创建的布局,imageView1 是该布局中包含的图像。这是 fragment 代码:

package com.firstproject.simplemenu;
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup; 
import android.view.View.OnClickListener;
import android.widget.Button;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;

import android.app.Fragment;
import android.widget.ImageView;

public class ExampleFragment extends Fragment {

Button button;
ImageView image;


public ExampleFragment() {

}

public static ExampleFragment newInstance() {
    return new ExampleFragment();
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    ImageView imageview = (ImageView)findViewById(R.id.imageView1);
    return Inflater.inflate(R.layout.iamgeview_main, container, false);
    }

public void addListenerOnButton() {


    button = (Button) findViewById(R.id.btnChangeImage);
    button.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            image.setImageResource(R.drawable.eagle);
        }

    });

}

最佳答案

findViewById 是类 Activity 中的一个方法。为避免传递整个 Activity 的实例,请使用 Wea​​kRefence(请参阅 http://developer.android.com/reference/java/lang/ref/WeakReference.html) 例如

private WeakReference<MainActivity> activity;

public ExampleFragment(MainActivity mainActivity) {
   activity = new WeakReference<MainActivity>(mainActivity);
} 

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {
    ImageView imageview = (ImageView)activity.findViewById(R.id.imageView1);
    return Inflater.inflate(R.layout.iamgeview_main, container, false);
}

关于android - 图像查看器 fragment (Android),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24416496/

相关文章:

android - AccessibilityService 无法接收 onKeyEvent 或 onGesture

android - 如何在 pubsub 节点上发送/接收自定义项目负载

java - 连续逐渐将背景颜色更改为所有颜色

安卓 Espresso : ViewPager does not have adapter instance

java - 如何让 android mediaplayer 播放声音?

android - 我应该如何使用 alarmmanager 每天和中午 12 点运行服务

android - Edittext 输入类型常量值不匹配

Android ScrollView 拒绝滚动到底部

android - 仅在第二次导航到 Fragment 时导致 java.IllegalStateException 错误,No Activity

android-fragments - 显示/隐藏片段并以编程方式更改可见性属性