在main.xml(android)上更改imageview的按钮
(我的第一篇帖子,顺便说一句) 我的问题是如此的新手式,以至于我找不到任何人问过,哦,我试过了。下面是 我的主屏幕有一个imageview。单击它,它会将您发送到不同的布局,从中可以选择一组图像(imagebuttons)(工作正常) 按下这些图像按钮中的任何一个都会将该图像发送到我的主图像视图(崩溃) 我在这个布局中创建了一个imageview,在其中插入按钮,并将图像发送到那里。这工作正常,因此开关语句正常 我试图在main.java中将主imageview设置为“公共”视图,但仍然失败 因此,问题是: 如何将图像从一个布局/类发送到另一个布局/类 提前感谢 雅各布 一些代码: 我的二级布局:在main.xml(android)上更改imageview的按钮,android,android-layout,Android,Android Layout,(我的第一篇帖子,顺便说一句) 我的问题是如此的新手式,以至于我找不到任何人问过,哦,我试过了。下面是 我的主屏幕有一个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从一个版面发送到另一个版面。 你可以
你不应该在活动之间发送图像,如果这是你的意思的话。你可能会这样做,但通过类似于一个。据我所知,您希望转到活动B,然后单击一个ImageButton,然后返回到活动A,并将其显示在ImageView中。难道你不能通过一个意图(例如,作为一个字符串)在图像的路径中传递吗?或者,您可以将名称作为字符串传入,然后通过在活动a中设置ImageView的源,在下一个活动中显示该图像 如果映像是临时创建的或其他什么,并且您需要传递它,您可以将其保存到一个私有文件(MODE_private),然后在下一个活动中访问它 对不起,如果我在想一些离题的事情 编辑 有关更多信息,请参阅 编辑2 可以使用意图在活动之间传递字符串:(即图像路径/名称) 您可以在下一个活动中检索它:
String thePictureName = getIntent().getStringExtra("name"); //correspond to above name
选择器设置意图i
startActivity(i)代码>
setResult(newIntent)代码>和finish()代码>在创建和打包意图之后
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;
}
}