在main.xml(android)上更改imageview的按钮

在main.xml(android)上更改imageview的按钮,android,android-layout,Android,Android Layout,(我的第一篇帖子,顺便说一句) 我的问题是如此的新手式,以至于我找不到任何人问过,哦,我试过了。下面是 我的主屏幕有一个imageview。单击它,它会将您发送到不同的布局,从中可以选择一组图像(imagebuttons)(工作正常) 按下这些图像按钮中的任何一个都会将该图像发送到我的主图像视图(崩溃) 我在这个布局中创建了一个imageview,在其中插入按钮,并将图像发送到那里。这工作正常,因此开关语句正常 我试图在main.java中将主imageview设置为“公共”视图,但仍然失败 因

(我的第一篇帖子,顺便说一句)

我的问题是如此的新手式,以至于我找不到任何人问过,哦,我试过了。下面是

我的主屏幕有一个imageview。单击它,它会将您发送到不同的布局,从中可以选择一组图像(imagebuttons)(工作正常)

按下这些图像按钮中的任何一个都会将该图像发送到我的主图像视图(崩溃)

我在这个布局中创建了一个imageview,在其中插入按钮,并将图像发送到那里。这工作正常,因此开关语句正常

我试图在main.java中将主imageview设置为“公共”视图,但仍然失败

因此,问题是: 如何将图像从一个布局/类发送到另一个布局/类

提前感谢

雅各布

一些代码:

我的二级布局:

package egen.helt.min;

import android.app.Activity;``
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.ImageView;

public class FartSelect extends Activity implements OnClickListener {

    public ImageView VælgMax;
    MediaPlayer mpButtonClick;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fartselect);

        VælgMax = (ImageView) findViewById(R.id.ivValgtMax);
        ImageButton skilt30 = (ImageButton) findViewById(R.id.ib30s);
        ImageButton skilt40 = (ImageButton) findViewById(R.id.ib40s);
        ImageButton skilt50 = (ImageButton) findViewById(R.id.ib50s);
        ImageButton skilt60 = (ImageButton) findViewById(R.id.ib60s);
        ImageButton skilt70 = (ImageButton) findViewById(R.id.ib70s);
        ImageButton skilt80 = (ImageButton) findViewById(R.id.ib80s);
        ImageButton skilt90 = (ImageButton) findViewById(R.id.ib90s);
        ImageButton skilt100 = (ImageButton) findViewById(R.id.ib100s);
        ImageButton skilt110 = (ImageButton) findViewById(R.id.ib110s);
        ImageButton skilt120 = (ImageButton) findViewById(R.id.ib120s);
        ImageButton skilt130 = (ImageButton) findViewById(R.id.ib130s);

        skilt30.setOnClickListener(this);
        skilt40.setOnClickListener(this);
        skilt50.setOnClickListener(this);``
        skilt60.setOnClickListener(this);
        skilt70.setOnClickListener(this);
        skilt80.setOnClickListener(this);
        skilt90.setOnClickListener(this);
        skilt100.setOnClickListener(this);
        skilt110.setOnClickListener(this);
        skilt120.setOnClickListener(this);
        skilt130.setOnClickListener(this);

    }

    public void onClick(View v) {
        // TODO Auto-generated method stub

        switch (v.getId()) {
        case R.id.ib30s:
            VælgMax.setImageResource(R.drawable.skilt30s);
            break;
        case R.id.ib40s:
            VælgMax.setImageResource(R.drawable.skilt40s);
            break;
        case R.id.ib50s:
            VælgMax.setImageResource(R.drawable.skilt50s);
            break;
        case R.id.ib60s:
            VælgMax.setImageResource(R.drawable.skilt60s);
            break;
        case R.id.ib70s:
            VælgMax.setImageResource(R.drawable.skilt70s);
            break;
        case R.id.ib80s:
            VælgMax.setImageResource(R.drawable.skilt80s);
            break;
        case R.id.ib90s:
            VælgMax.setImageResource(R.drawable.skilt90s);
            break;
        case R.id.ib100s:
            VælgMax.setImageResource(R.drawable.skilt100s);
            break;
        case R.id.ib110s:
            VælgMax.setImageResource(R.drawable.skilt110s);
            break;
        case R.id.ib120s:
            VælgMax.setImageResource(R.drawable.skilt120s);
            break;
        case R.id.ib130s:
            VælgMax.setImageResource(R.drawable.skilt130s);
            break;

        }

    }
}
下面是FartSelect.xml:

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



    <ImageView
        android:id="@+id/ivValgteMax"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:src="@drawable/blanktskiltsk" />

    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="400dp" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:orientation="vertical" >

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageButton
                    android:id="@+id/ib30s"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:background="@android:color/black"
                    android:gravity="center"
                    android:src="@drawable/skilt30s" />

                <ImageButton
                    android:id="@+id/ib40s"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:background="@android:color/black"
                    android:gravity="center"
                    android:src="@drawable/skilt40s" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageButton
                    android:id="@+id/ib50s"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:background="@android:color/black"
                    android:gravity="center"
                    android:src="@drawable/skilt50s" />

                <ImageButton
                    android:id="@+id/ib60s"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:background="@android:color/black"
                    android:gravity="center"
                    android:src="@drawable/skilt60s" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageButton
                    android:id="@+id/ib70s"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:background="@android:color/black"
                    android:gravity="center"
                    android:src="@drawable/skilt70s" />

                <ImageButton
                    android:id="@+id/ib80s"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:background="@android:color/black"
                    android:gravity="center"
                    android:src="@drawable/skilt80s" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageButton
                    android:id="@+id/ib90s"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:background="@android:color/black"
                    android:gravity="center"
                    android:src="@drawable/skilt90s" />

                <ImageButton
                    android:id="@+id/ib100s"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:background="@android:color/black"
                    android:gravity="center"
                    android:src="@drawable/skilt100s" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageButton
                    android:id="@+id/ib110s"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:background="@android:color/black"
                    android:gravity="center"
                    android:src="@drawable/skilt110s" />

                <ImageButton
                    android:id="@+id/ib120s"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:background="@android:color/black"
                    android:gravity="center"
                    android:src="@drawable/skilt120s" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageButton
                    android:id="@+id/ib130s"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:background="@android:color/black"
                    android:gravity="center"
                    android:src="@drawable/skilt130s" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageButton
                    android:id="@+id/ib30sk"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:background="@android:color/black"
                    android:gravity="center"
                    android:src="@drawable/skilt30sk" />

                <ImageButton
                    android:id="@+id/ib40sk"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:background="@android:color/black"
                    android:gravity="center"
                    android:src="@drawable/skilt40sk" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageButton
                    android:id="@+id/ib50sk"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:gravity="center"
                    android:src="@drawable/skilt50sk" />

                <ImageButton
                    android:id="@+id/ib60sk"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:gravity="center"
                    android:src="@drawable/skilt60sk" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageButton
                    android:id="@+id/ib70sk"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:gravity="center"
                    android:src="@drawable/skilt70sk" />

                <ImageButton
                    android:id="@+id/ib80sk"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:gravity="center"
                    android:src="@drawable/skilt80sk" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageButton
                    android:id="@+id/ib90sk"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:gravity="center"
                    android:src="@drawable/skilt90sk" />

                <ImageButton
                    android:id="@+id/ib100sk"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:gravity="center"
                    android:src="@drawable/skilt100sk" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageButton
                    android:id="@+id/ib110sk"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:gravity="center"
                    android:src="@drawable/skilt110sk" />

                <ImageButton
                    android:id="@+id/ib120sk"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:gravity="center"
                    android:src="@drawable/skilt120sk" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageButton
                    android:id="@+id/ib130sk"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:gravity="center"
                    android:src="@drawable/skilt130sk" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageButton
                    android:id="@+id/ib30"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:gravity="center"
                    android:src="@drawable/skilt30" />

                <ImageButton
                    android:id="@+id/ib40"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:gravity="center"
                    android:src="@drawable/skilt40" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageButton
                    android:id="@+id/ib50"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:gravity="center"
                    android:src="@drawable/skilt50" />

                <ImageButton
                    android:id="@+id/ib60"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:gravity="center"
                    android:src="@drawable/skilt60" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageButton
                    android:id="@+id/ib70"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:gravity="center"
                    android:src="@drawable/skilt70" />

                <ImageButton
                    android:id="@+id/ib80"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:gravity="center"
                    android:src="@drawable/skilt80" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageButton
                    android:id="@+id/ib90"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:gravity="center"
                    android:src="@drawable/skilt90" />

                <ImageButton
                    android:id="@+id/ib100"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:gravity="center"
                    android:src="@drawable/skilt100" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageButton
                    android:id="@+id/ib110"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:gravity="center"
                    android:src="@drawable/skilt110" />

                <ImageButton
                    android:id="@+id/ib120"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:gravity="center"
                    android:src="@drawable/skilt120" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >

                <ImageButton
                    android:id="@+id/ib130"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="50"
                    android:gravity="center"
                    android:src="@drawable/skilt130" />
            </LinearLayout>
        </LinearLayout>
    </ScrollView>

</LinearLayout>


在同一布局中,imageview可以更改。仅当发送到主版面上的imageview时,情况并非如此。

您不会将imageview从一个版面发送到另一个版面。 你可以

  • 移除布局上的ImageView并添加到其他布局(通过充气)
  • 在第一个布局上隐藏,在其他布局上显示

  • 你不应该在活动之间发送图像,如果这是你的意思的话。你可能会这样做,但通过类似于一个。据我所知,您希望转到活动B,然后单击一个ImageButton,然后返回到活动A,并将其显示在ImageView中。难道你不能通过一个意图(例如,作为一个字符串)在图像的路径中传递吗?或者,您可以将名称作为字符串传入,然后通过在活动a中设置ImageView的源,在下一个活动中显示该图像

    如果映像是临时创建的或其他什么,并且您需要传递它,您可以将其保存到一个私有文件(MODE_private),然后在下一个活动中访问它

    对不起,如果我在想一些离题的事情

    编辑

    有关更多信息,请参阅

    编辑2

    可以使用意图在活动之间传递字符串:(即图像路径/名称)

    您可以在下一个活动中检索它:

    String thePictureName = getIntent().getStringExtra("name"); //correspond to above name
    
  • 选择器设置意图
    i
  • startActivity(i)
  • 创建一个OnActivityResult(int result_code)并检查选择器的代码
  • 在“放屁选择器”中,在单击时使用所需的图像数据打包新的意图
  • 调用
    setResult(newIntent)
    finish()在创建和打包意图之后
  • 从我们3点结束的地方开始,解包意图并在ImageView中使用它
  • 你的问题是

    VælgMax = (ImageView) findViewById(R.id.ivValgtMax);
    
    ivValgtMax
    不是在
    fartlayout
    中定义的id,因此该代码将为您提供
    null
    。我假设
    ivValgtMax
    引用了另一个布局中的
    ImageView

    如果我理解正确,您希望从另一个活动A(具有主
    ImageView
    )启动活动B(具有图像),在活动B中选择一个图像,并在用户单击后将所选图像返回到活动A

    如果所有这些都是正确的,我们可以继续。您希望从A启动活动B的方式是使用

    Intent intent = new Intent(this, ActivityB.class);    
    startActivityForResult(intent, IMAGE_SELECTION_VALUE);
    
    其中,
    IMAGE\u SELECTION\u VALUE
    是一个静态值,您可以为其指定一个整数,只需将其设置为唯一值即可

    在活动B中,一旦用户完成单击,您的目标是将选择返回到活动A。为此,您需要创建意图并设置结果

    public void onClick(View v) {
        ... your code ...
        Intent resultIntent = new Intent(null);
        resultIntent.putExtra(IMAGE_FIELD_NAME, userSelection);
        setResult(Activity.RESULT_OK, resultIntent);
        finish();
    }
    
    在上面的代码中,
    IMAGE\u FIELD\u NAME
    将是一个静态的
    字符串
    ,您可以使用它来查找正确的图像(我们将在下一步中找到如何使用它)
    userSelection
    将是您发送回活动A的数据。您可以为此使用
    v.getId()
    并将switch语句移动到活动A

    最后,您将希望覆盖活动A中的活动结果。这将允许您从活动B获得结果,我们将在其中使用
    IMAGE\u FIELD\u NAME

    public void onActivityResult(int requestCode, int resultCode, Intent data) {     
        super.onActivityResult(requestCode, resultCode, data); 
        switch(requestCode) { 
            case IMAGE_SELECTION_VALUE:
                if (resultCode == Activity.RESULT_OK) { 
                    int imageId = data.getIntExtra(IMAGE_FIELD_NAME);
                    // now you can update your ImageView here
                }
                break; 
    
            default: 
                break;
        }
    } 
    

    你能发布你尝试过的代码和LogCat的stacktrace吗?请也包括你的布局
    fartselect
    ,呵呵:)我的意思是插入按钮上的图像应该改变主屏幕上的ImView。我不是指发送图像。只是在改变。我的问题是对的,但我是个新手,传递路径或名称的字符串还没有出现在我的位置上。啊,好的。只需使用一个intent…它的语法非常简单。(请参见上面的链接了解意图)。我还将编辑关于如何使用意图将字符串从一个活动传递到另一个活动的答案。非常感谢。我试试看。可能需要一些时间。谢谢你的回答,没问题。如果你还需要,告诉我
    public void onActivityResult(int requestCode, int resultCode, Intent data) {     
        super.onActivityResult(requestCode, resultCode, data); 
        switch(requestCode) { 
            case IMAGE_SELECTION_VALUE:
                if (resultCode == Activity.RESULT_OK) { 
                    int imageId = data.getIntExtra(IMAGE_FIELD_NAME);
                    // now you can update your ImageView here
                }
                break; 
    
            default: 
                break;
        }
    }