【问题标题】:Using onClick in button to a view使用 onClick in 按钮查看视图
【发布时间】:2012-06-13 22:01:34
【问题描述】:

今天早上刚开始学习 Android,需要这方面的帮助。我的应用程序中有几个按钮,我希望当用户单击按钮时会显示图像并返回按钮以加载 main.xml。

代码:

在 main.xml 中

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

    <Button 
        android:layout_marginTop="40dp"
           android:layout_width="100dp"
           android:layout_height="80dp"
           android:id="@+id/b1"
           android:text="xyz"
           android:background="#ff3375"
           android:layout_marginLeft="20dp"
        />

    <Button 
        android:layout_marginTop="40dp"
           android:layout_width="100dp"
           android:layout_height="80dp"
           android:id="@+id/b2"
           android:layout_toRightOf="@id/b1"
           android:text="abc"
           android:background="#ff3375"
           android:layout_marginLeft="80dp"
        /></RelativeLayout>

在 Activity.java 中

package com.sam;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class A2Activity extends Activity {
    /** Called when the activity is first created. */

    Button a,b;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        a= (Button) findViewById(R.id.b1);
        b= (Button) findViewById(R.id.b2);
        a.setOnClickListener(new View.OnClickListener() {

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

        }
    });
        b.setOnClickListener(new View.OnClickListener() {

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

        }
    });}}

现在,我需要在 onCLick 方法中添加什么来打开图像或 XML 文件以及返回到 main.xml 的后退按钮

【问题讨论】:

  • 在您的 sam.xml 文件中,您没有添加任何图像视图,那么单击按钮时图像将如何显示
  • 我在后台添加了那张图片

标签: java android android-layout android-intent sdk


【解决方案1】:

请进一步解释您的问题。你是什​​么意思打开图像或xml文件?你的意思是创建一个位图?你的意思是展示它吗?如果有,在哪里?另外,你的后退按钮将返回到 main.xml 是什么意思? main.xml 是一个布局文件,而不是一个活动。

无论如何,也许您的意思是您希望在按下按钮时全屏打开图像,并在单击设备的后退按钮时返回您创建的活动?

如果是这样,您可以创建一个扩展 Activity 的新类,更新清单以使其可访问,然后启动它(使用 startActivity)。在新的活动类中,将内容视图设置为显示图像的 ImageView 或具有显示图像的 imageView 的布局文件。


要开始一个新的活动,你需要调用:

startActivity(new Intent(CurrentActivity.this, NewActivity.class);

其中“CurrentActivity”是您当前所处的活动(在您的示例中称为“A2Activity”),而“NewActivity”是显示图像的活动。

如前所述,不要忘记更新清单。

【讨论】:

  • 你说得对,我创建了一个新类并完成了所有工作,现在在 onClick 方法中我正在尝试这个 ~ Intent intent = new Intent();意图.setClass(view.getContext(), im1.class); startActivity(intent);~ ,但显示 Intent 无法解析为类型
  • 现在我只得到这个错误:无法从类型视图中对非静态方法 getContext() 进行静态引用
  • 更新了我的答案。顺便说一句,您不必声明按钮变量,而不是按钮(因为视图也是可点击的)并且根本不需要(因为您以后不使用它们)。此外,java(和 android)中的类应该以大写字母开头。这是标准。
  • 非常感谢您的帮助。你能告诉我哪里做错了吗。我创建了一个名为 im1.java 的类,在里面我做了 setContentView(R.layout.sam);并创建了一个名为 sam.xml 的 xml 布局并将背景更改为 android:background="@drawable/samm" 。不明白它没有显示任何错误但模拟器崩溃。以及如何在该视图中实现一个按钮来调用 main.xml
  • 我已经上传了项目,请帮我整理错误:smrtm.in/G7u
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-05
  • 2012-09-19
相关资源
最近更新 更多