Android Studio 图片怎么调用啊

Hbale 2016-07-27 04:16:46
package com.example.ops.testapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;


public class MainActivity extends AppCompatActivity {

private Button Button1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViews();
}
private void findViews(){
find_Simp(R.id.button1);
}
private void find_Simp(int v){
find(Button1,v);
setPic(Button1);
}
private void find(Button b, int v){
b = (Button) findViewById(v);
}
private void setPic(Button b){
b.setBackgroundResource(R.drawable.pic1_1_1);
}
}
...全文
881 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hbale 2016-07-27
  • 打赏
  • 举报
回复
谢谢拉兄弟!
Hbale 2016-07-27
  • 打赏
  • 举报
回复
引用 13 楼 chenxin_oo 的回复:
[quote=引用 12 楼 Hbale 的回复:] [quote=引用 11 楼 chenxin_oo 的回复:] 找到问题所在了

 private Button Button1;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViews();
    }
    private void findViews(){
        find_Simp(R.id.button1);
    }
    private void find_Simp(int v){
        find(Button1,v);
  
    }
    private void find(Button b, int v){
        b = (Button) findViewById(v);
      b.setBackgroundResource(R.drawable.pic1_1_1);
    }
    }
这样写就没问题说了你再另一方法里找到的button 和外面的button不是一个 java传值问题
哦我传第一次是同一个第二次就不是了对吧[/quote]不建议这么写,你这样操作以后button虽然可以添加图片,但是外面的那个button依然是空的 [/quote] 哦哦哦哦懂了我返回一个值不就成了
dusmit 2016-07-27
  • 打赏
  • 举报
回复
引用 12 楼 Hbale 的回复:
[quote=引用 11 楼 chenxin_oo 的回复:] 找到问题所在了

 private Button Button1;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViews();
    }
    private void findViews(){
        find_Simp(R.id.button1);
    }
    private void find_Simp(int v){
        find(Button1,v);
  
    }
    private void find(Button b, int v){
        b = (Button) findViewById(v);
      b.setBackgroundResource(R.drawable.pic1_1_1);
    }
    }
这样写就没问题说了你再另一方法里找到的button 和外面的button不是一个 java传值问题
哦我传第一次是同一个第二次就不是了对吧[/quote]不建议这么写,你这样操作以后button虽然可以添加图片,但是外面的那个button依然是空的
Hbale 2016-07-27
  • 打赏
  • 举报
回复
引用 11 楼 chenxin_oo 的回复:
找到问题所在了

 private Button Button1;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViews();
    }
    private void findViews(){
        find_Simp(R.id.button1);
    }
    private void find_Simp(int v){
        find(Button1,v);
  
    }
    private void find(Button b, int v){
        b = (Button) findViewById(v);
      b.setBackgroundResource(R.drawable.pic1_1_1);
    }
    }
这样写就没问题说了你再另一方法里找到的button 和外面的button不是一个 java传值问题
哦我传第一次是同一个第二次就不是了对吧
dusmit 2016-07-27
  • 打赏
  • 举报
回复
找到问题所在了

 private Button Button1;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViews();
    }
    private void findViews(){
        find_Simp(R.id.button1);
    }
    private void find_Simp(int v){
        find(Button1,v);
  
    }
    private void find(Button b, int v){
        b = (Button) findViewById(v);
      b.setBackgroundResource(R.drawable.pic1_1_1);
    }
    }
这样写就没问题说了你再另一方法里找到的button 和外面的button不是一个 java传值问题
秃头地中海 2016-07-27
  • 打赏
  • 举报
回复
引用 9 楼 Hbale 的回复:
[quote=引用 8 楼 qq_33225439 的回复:] 这直接在布局中写就好啦
我不能那样写,,因为要用带随机算法,随机往按钮里放图片[/quote] 那好吧,那你可以把b.setBackgroundResource(R.drawable.pic1_1_1); 放到find里去,还有就是,在find中调用setPic(b);
Hbale 2016-07-27
  • 打赏
  • 举报
回复
引用 8 楼 qq_33225439 的回复:
这直接在布局中写就好啦
我不能那样写,,因为要用带随机算法,随机往按钮里放图片
秃头地中海 2016-07-27
  • 打赏
  • 举报
回复
这直接在布局中写就好啦
Hbale 2016-07-27
  • 打赏
  • 举报
回复
引用 5 楼 qq_33225439 的回复:
这是什么逻辑,此button非彼button,在find中调用setPic(b),还有你为什么要这么写?
逻辑没问题啊。。我也不想这么些关键是我这几十个按钮不这么封装得写上千行代码,太繁复会出错的
dusmit 2016-07-27
  • 打赏
  • 举报
回复
java方法只有值传递 去百度下就了解了
秃头地中海 2016-07-27
  • 打赏
  • 举报
回复
这是什么逻辑,此button非彼button,在find中调用setPic(b),还有你为什么要这么写?
Hbale 2016-07-27
  • 打赏
  • 举报
回复
引用 2 楼 adfldk 的回复:
你原想加载图片 但你之前那样写只是传了一个button并没有资源吧
我就是在setPic里面写了资源调用啊
Hbale 2016-07-27
  • 打赏
  • 举报
回复
如果我不封装直接在findViews里这样写

private void findViews(){
        Button1 = (Button) findViewById(R.id.button1);
        Button1.setBackgroundResource(R.drawable.pic1_1_1);
    }
就不会有错正常运行调用图片,为啥呢
adfldk 2016-07-27
  • 打赏
  • 举报
回复
你原想加载图片 但你之前那样写只是传了一个button并没有资源吧
Hbale 2016-07-27
  • 打赏
  • 举报
回复
调试的时候出错 Process: com.example.ops.testapplication, PID: 22748 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ops.testapplication/com.example.ops.testapplication.MainActivity}: java.lang.NullPointerException 什么原因啊,如果我改成在findViews方法里写 button1.setBackgroundResource(R.drawable.pic1_1_1); 这样就没有错,为什么呢

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧