android小白问一个故障

android小白,做一个很简单的动作,第一个activity里面输入的内容传递到第二个activity的textview中去,但是报错如下
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference

第一个activity

public class MainActivity extends AppCompatActivity {
  protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
    }
 public void sendMessage3(View view){
Intent intent=new Intent(this,DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
  intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
            }

     public final static String EXTRA_MESSAGE = "com.mycompany.myfirstapp.MESSAGE";


}

第二个activity

  public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        Intent intent = getIntent();
        String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);


        TextView tv = (TextView) findViewById(R.id.textView);
        tv.setText(message);

        // Set the text view as the activity layout
        setContentView(R.layout.activity_display_message);


    }

如果我把 tv.setText(message);这句话注销掉,不赋值,第二个页面就能正常打开。

android刚上手小白。。自己研究了半天没研究出什么原因,求大神解答,非常感谢

14个回答

setContentView(R.layout.activity_display_message);放在第三行,其他下移

setContentView应该放到你实例化组件之前。
你应该这样写:

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

  // Set the text view as the activity layout
        setContentView(R.layout.activity_display_message);

        Intent intent = getIntent();
        String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);


        TextView tv = (TextView) findViewById(R.id.textView);
        tv.setText(message);
    }

qq_21413973
就是九号您 你的是对的,问题就是没有提前初始化布局,造成空指针异常
3 年多之前 回复
 TextView tv = (TextView) findViewById(R.id.textView);
        tv.setText(message);

        // Set the text view as the activity layout
        setContentView(R.layout.activity_display_message);

顺序换一下,反了,现有布局,再找组件

        // Set the text view as the activity layout
        setContentView(R.layout.activity_display_message);
TextView tv = (TextView) findViewById(R.id.textView);
        tv.setText(message);

你应该这样写:
// Set the text view as the activity layout
setContentView(R.layout.activity_display_message);//先找到activity布局,然后在查找其中的组件

    Intent intent = getIntent();
    String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
    TextView tv = (TextView) findViewById(R.id.textView);
    tv.setText(message);

按我上面的写法是合适的

弄好了没?应该好了吧

空指针异常,因为没能找到你的控件。所以不能用它进行赋值操作。setContentView这句话应该提前,先找到布局才能操作控件

为什么要每点击一次按钮都要去初始化EditText控件,为什么不在onCreate方法中初始化呢?!

setContetnView()应该在前面

setContetnView()写在最上面

小白总是会有问题的,大家要有耐心好好回答

共14条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
android小白问一个故障
android小白,做一个很简单的动作,第一个activity里面输入的内容传递到第二个activity的textview中去,但是报错如下nCaused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object referencenn第一个activitynnn```npublic class MainActivity extends AppCompatActivity n protected void onCreate(Bundle savedInstanceState) n super.onCreate(savedInstanceState);n setContentView(R.layout.activity_main);n n public void sendMessage3(View view)nIntent intent=new Intent(this,DisplayMessageActivity.class);nEditText editText = (EditText) findViewById(R.id.edit_message);nString message = editText.getText().toString();n intent.putExtra(EXTRA_MESSAGE, message);nstartActivity(intent);n nn public final static String EXTRA_MESSAGE = "com.mycompany.myfirstapp.MESSAGE";nnnn```n第二个activitynn```n public void onCreate(Bundle savedInstanceState) n super.onCreate(savedInstanceState);nn n Intent intent = getIntent();n String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);nn n TextView tv = (TextView) findViewById(R.id.textView);n tv.setText(message);nn // Set the text view as the activity layoutn setContentView(R.layout.activity_display_message);nnn n```n如果我把 tv.setText(message);这句话注销掉,不赋值,第二个页面就能正常打开。nnandroid刚上手小白。。自己研究了半天没研究出什么原因,求大神解答,非常感谢nn
小白问小白问题了...
如何将数据库中表 逆向生成 .sql 脚本???=.=!!! sql2000的 ~~
小白问一个问题
我有这么个需求,我们公司现在有一套口腔医疗软件,然后呢,有一个国外的放射科软件,某个口腔医院同时在用这2个软件,公司需要我开发一个功能,当我们软件进行一个业务的时候,调用这个国外软件的一个接口,把我们的一段数据传过去,那国外的软件就会根据我们传递的数据,显示相应的信息。。。。。rnrn由于是英文的接口说明,所以不是很清楚,以前也一直在做Web的,很久没接触CS了,这种功能怎么做,是否是需要这个国外软件提供一个API,然后我们软件去调用,调用的方式又是否是和调用WindowAPI一样,用DllImport这种方法引入动态链接库呢?
小白问一个语法问题
在看okhttp的教程,有个问题想不明白。rn如下面的代码:rn//初始化RequestBody,用于保存访问网络的请求信息rnRequestBody requestBody = RequestBody.create(JSONTYPE, requestContent);rnrn看了源码,好像RequestBody是个抽象类,而create是RequestBody中的静态方法。rn本人是新手刚学java的小白,抽象类不是不能实例化吗,而且也没加new啊。
小白问access的一个问题
通常新建一个access文件后进入应该有表设计,窗体设计。。。。一大堆东西。rn但为什么有些access文件打开后就只是一个窗体程序。看不见表之间的关系。看不见表里的数据。这种是怎么做到的。还有用什么方法可以看到这些应用程序的代码。
小白问一个弱智问题!
class Demo1 rnrn public static void main(String[] args) rn float a =3.14;rn System.out.println("结果"+a);rn rnrn小数类型写成float,编译的时候提示可能损失精度,需要转换数据类型,默认的是double类型,但是为什么我把这个float改成10,写成一个整数,结果显示10.0,我知道数据转换原理是在二进制位上直接截取低位,强制转换的!难道因为10,float转换成double,正好精度没损失,所以不报错!而3.14是个小数,转换的时候有可能损失精度,所以就报错?
小白问一个端口的问题~!
我还是个小白,一直不太理解端口的意思,今天在网上查了查,好像明白了一点,但又不知道对不对,所以过来问问各位大侠!rnrn就以Apache为例子吧:rn1、有个请求发到目的机rn2、这个请求中指明要使用哪个端口的,系统将这个请求发送给拥有相应端口的程序(进程)。rnrn这么理解对吗?也就是两个机子互相通信的时候,都会在发送的请求中指明要使用对方机子哪个端口?rn如果不是,麻烦给我讲一下,最好用大白话。。。呵呵!rnrn谢谢!
小白问一个正则表达式的问题
输入URL: http://sp/sites/PPS-234_343/sdf/34/sdf/786/Documents/Hello World.docxrn想用正则取到 /sites/PPS-234_343rn我是这么写的rnvar regx = /\/sites\/\S+\//;rnvar rs = regx.exec("http://sp/sites/PPS-234_343/sdf/34/sdf/786/Documents/Hello World.docx");rnrn但是输出的结果是rn/sites/PPS-234_343/sdf/34/sdf/786/Documents/rn貌似把后面一整串都输出了,我尝试使用1,rn /\/sites\/(\S+\/)1/rn但是好像也没啥用,应该是我对语法理解有错误rnrn求教大神们正确的写法
小白问数据库
两张表只有两条数据是不一样的,我通过对两张表进行外联接,where全部相同的字段,是不是应该就抓取除了两条不一样的数据剩下全部相同的数据,可为毛应该有2千多条的数据,抓取到的只有100多条.
日期控件 问题~ 急~ ----->小白问 小白问题了~~
在用WdatePicker的日期控件~ 他的默认格式是yyyy-m-d 但是我想要输入 20081212的时候 他显示2008-02-02 也就是说他 无论是月还是日 只要超过10 就出错 我用的最新的版本 4.2的 以前的版本貌似没有 输入20081212就自动转换的功能 都被默认为输入不合法~ 那为大虾知道怎么改这个错误么??rnrn或者谁有好的日期控件 可以满足上面那个功能的 还要能显示日历的.... 55 ~~ 给我发个 xiaohong5516@163.comrnrn谢谢~~ 兄弟们了~~~
小白问几个问题
1技术中用的层级框架是什么样的rn2代码如何在层级框架中实现rn3框架如何跟业务实现,业务逻辑是什么
小白问一些基础知识。
在写一个类的时候rn为什么我使用 Collection 接口、List 等接口不需要rnclass Name implements Collection rnrn而我在使用 Comparable 等接口的时候就需要rnclass Name implements Comparable rnrn同样都是接口,请问有什么规律?rn
小白问一个字符串插入函数的问题
自己写的函数rntypedef char* SString;rnbool Sinsert(SString &S1,int pos,SString S2)rnrn int i=0;rn SString S3=new char[strlen(S1)+strlen(S2)+1];rn for(;i
新手小白问一个SQL问题,急!!!!!
我有一张表,表中有两个字段会出现重复数据,我现在想取出来的时候,如果有重复数据,只显示一条,而不是多条重复数据都显示出来。怎么破?在线等!!!!!
小白问一个有关堆对象数组的问题!!
假如前面定义了一个Student类rnrn然后 Student one=new Student[];//error:不存在从"Student*" 转换到"Student"的适当构造函数rnrn如果这样 Student *one=new Student[];//这样就没有问题rnrn各位大神能告诉我这有什么区别麽?
小白问一条初级SQL
table: id(primary key), card#, process_timern不断有record进table并记录写入时间process_timernrnrn求SQL: 输出所有 某同一card#的每相邻两次record的process_time大于一秒的那些record
小白问一个问题,关于good()函数的
用ifstream载入一个txt文件,里面含有整型数据和字符,要用good()函数判断输入流文件是否正确,怎么做才能过good()函数?不能用其他的函数替代
小白问一个极其简单的GUI问题
我就学习GUI的JFrame里面查几个按钮而已,很奇怪的是 程序可以运行,也弹出来了我设计的窗口,但是我却看到了下图所示的小红八叉 这应该叫做编译器报错把?? 奇怪啊 怎么能运行了 还有错误呢 提示的错误是 :rnrnMultiple markers at this linern - The serializable class Gui does not declare a static final serialVersionUID field of type longrn - Access restriction: The type JFrame is not accessible due to restriction on required rn library C:\Program Files\Java\jre1.8.0_25\lib\rt.jarrnrn[img=https://img-bbs.csdn.net/upload/201410/30/1414649356_774119.jpg][/img]
小白问一个NETBEANS的界面问题
[img=https://img-bbs.csdn.net/upload/201509/06/1441512218_948037.png][/img]rn我想做一个简单的电影售票系统,要让每一部电影的不同时间段对应不同的影厅应该怎样操作,也就是点击左边的不同电影,右边面板会切换到不同的影厅[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/3.gif][/img]
小白问一个关于MFC单文档的问题
我建了MFC的单文档,又新建了一个对话框,那我可不可以运行的时候不运行单文档而直接运行我自己的对话框?
小白问一下服务器的区别
本人做开发的,对服务器性能什么的不怎么了解。目前碰到一个问题来请教下各位大神。rnrn现在单位有台很老的服务器,入门级的。配置很底的,AMD闪龙 1.8G, 物理内存2GB, 160G硬盘,用来做个局域网网络服务器, 系统winserver 2003 + SQLSERVER 2000, 平时用来存取一些数据,目前有五六百万条一个表,也不算太卡, 一般CPU使用率 达到 5%都很少。rnrn 事情是最近这台服务器开机自检的时候在检测 arrays 后说 什么东东退化, 然后开机在server2003 进入页面要十多分钟, 进去后也很好不卡。 但是使用一段时间后 桌面就很卡无法做任何事情,但是,重点是这时候局域网里面的其他客户端还能对服务器上的SQLSERVER 2000 读写数据,速度 也不怎么影响。rnrn 于是看着服务器配置这么底,就搬来一台现在还过的去的办公室普通PC 打算先顶替一下,去把服务器维修一下, 普通PC的配置都是现在主流配置, CORE 双核 的, 2G内存等等, 配置完全不逊于那太服务器,我给装好winserver 2003 和数据库后, 去测试, 客户端一写数据就卡住了, 很慢很慢, 而且普通PC的CPU使用率 会被SQL的进程占用瞬间到达99% ,根本无法使用, 于是很疑惑。rn 为什么现在配置高的个人PC 还没有 老的低配置服务器 性能好,同样的软件环境,到底差异在哪里呢?rn请各位不吝赐教,谢谢!rnrn
小白问一下。。。C语言
C语言怎么才能把计算精确到小数点后几百位几千为去啊。。。。。。。。。。。。。
小故障
今天使用写java servlet程序时,页面老是从浏览器跳转到MyEclipse的Debug 显示信息如下 。但并没有出现任何错误信息或者崩溃 。org.apache.catalina.startup.Bootstrap at localhost:5435 Thread [main] (Running) Daemon Thread [ContainerBackgroundProc
又来问关于继承的小白问题了
[code=java]rnrnpublic class A rn rn public void print() rn System.out.println(this);rn rn p();rn rn rn private void p() rn System.out.println(this);rn rn rnrnrn[/code]rnrnrnrn[code=java]rnpublic class B extends A rn public static void main(String[] args) rn A b = new B();rn b.print();rn rnrnrnrn[/code]rnrnrnrn结果:rnB@a90653rnB@a90653rn也就是打印的都是B对象,求详细解释?rn
不懂硬件的小白问一个开发人机交互软件的问题
我以前做的纯软件开发的,现在刚转到做机械设备的软件开发。我们公司之前有一个与dsp通信的软件是用VS开发,然后安装在电脑上的。现在要升级下,用触摸屏代替电脑。我不知道选什么样的,威纶通的可以吗?软件的功能也很简单,就是设置参数,统计处理结果。但是后期可能会有一个erp系统,然后将软件整到erp系统中作为一个模块。rn威纶通触摸屏做人机交互界面难吗?可以满足我的需求吗?或者有什么别的不用重头写代码的触摸屏推荐的吗?rn我只擅长C/C++/JAVA。回帖均有分,跪谢。
小白问,问并发是什么意思
并发就是同时链接的用户数吗,想学c++与手机连接通信的。nn问题一:c++做服务器默认能让多少手机同时在线?n问题二:php呢n
小白问:字符串编码出错,怎么解决?
现在我思路完全被弄昏了,请允许我半夜晕头的情况下来提问,本人因计算机网络题目的需求,说有一串密文,用的是移位密码加密的。就是凯撒的替代密码。对每个字符,按照一定的移动个数,依次移动加密而成的密文。rn 现在要你解出明文。我写的解密算法,从感觉上来说,是没有错的,但是无论在控制台还是读取本地文件,出来都是一串乱码,怎么都解决不了。所以,还无法验证算法的正确性。rn [code=java]import java.io.*;rnrnpublic class Encryption rn InputStream is = null;rn OutputStream os = null;rn rn public Encryption(InputStream is, OutputStream os) rn this.is = is;rn this.os = os;rn rn rn public void fileOpare(int key) rn byte[] buf = new byte[1024];rn String source = null;rn String destion = null;rn rn try rn is.read(buf);rn source = new String(buf);rn destion = encryption(source, key);rn os.write(destion.getBytes());rn os.flush();rn catch (IOException e) rn System.out.println(e.getMessage());rn finally rn tryrn is.close();rn catch (IOException e) rn System.out.println(e.getMessage());rn rn tryrn os.close();rn catch (IOException e) rn System.out.println(e.getMessage());rn rn rn rn rn public static String encryption(String source, int key) rn String buf = "";rn for(int i = 0; i < source.length(); i++) rn int c = source.charAt(i);rn if(Character.isLowerCase(c)) rn c = (char)(c - 97 + key);rn else if(Character.isUpperCase(c)) rn c = (char)(c - 65 + key);rn rn buf = buf + c;rn rn return buf;rn rn[/code]rnrn测试文件rn[code=java]import java.io.*;rnrnpublic class Test rnrn public static void main(String[] args) throws UnsupportedEncodingException, IOException rn InputStream is = new FileInputStream("E:/program/input.txt");rn OutputStream os = new FileOutputStream("E:/program/output.txt");rn Encryption d = new Encryption(is, os);rn d.fileOpare(1);rn rnrn[/code]
小白问关于mongodb日志输出问题
[size=18px]各位好:rn 我想问个关于mongodb日志问题,我现在新部署了一台mongodb,利用log4j将web端服务器中的日志导入到mongodb数据库中,然后利用flash-dog观察数据库里面的信息,但是我只能观察到其中一台服务器的信息(暂且叫做B),其中log4j配置信息A和B一模一样,我查看了mongodb的日志mongodb.log,具体如图rn[img=https://img-bbs.csdn.net/upload/201702/10/1486710206_947088.jpg][/img]rn 我发现服务器B有大量的连接和断开,我上网查了一下,这是正常现象,但是服务器A只有1次连接和断开,然后就没有输出信息了,rn 我使用netstat -anput | grep :27017 发现A服务器与数据库连接着,但是就是没有输入数据,rn[img=https://img-bbs.csdn.net/upload/201702/10/1486710480_868406.jpg][/img][/size]rn 谁遇到过这样的事情吗?求解,谢谢各位了。
Android 故障
运行之后出现如下状况:rnrn[2011-09-18 11:23:32 - Emulator] PANIC: Could not open AVD config file: C:\Users\鍙跺皯\.android\avd\AOO.avd/config.inirnrn求解决方法
新手菜鸟小白问几个Cocos2d-js的问题
1.Cocos2d-js底层是用什么语言实现的呢?rn2.相似的代码,写出来的游戏会不会比Cocos2d-x的性能低些?rn3.Cocos2d-js写出来的游戏,如果需要跨平台,工作量会更大么,相比Cocos2d-x?rn4.Cocos2d-js用什么IDE呢?rn5.Cocos2d-js为什么没有Cocos2d-x那么流行呢?
小白问:如何正确显示统计结果
Dim cnStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\LM.accdb;Persist Security Info=False"rncn = New OleDbConnection(cnStr)rnSql = "select count(*) from 机构列表 where 行政区划='城厢区'"rnda = New OleDbDataAdapter(Sql, cn)rnds = New DataSetrnda.Fill(ds)rnrnmessagebox.show( 这里想显示统计的记录数,怎么写 )
小白问一下关于appconfig修改的问题
职场小菜鸟询问各位大牛一个问题哈。rn是这样的,我二次开发了一个电话盒子的小软件,其中呢有几个参数是写在appconfig里面的,包括一些文件的存储路径。我呢希望管理员可以根据自己的意愿在后台更改这些参数的值,并且其他用户在前台可以使用新的参数。rn那么在打包发布后,各个计算机上安装了,还能读取到管理员修改的appconfig参数吗?我也查了一些修改config文件的代码,发现实现起来也挺不方便的,是不是这些参数可以存在数据库里呢?rn如果大大们有别的好的建议也请不客气的砸过来吧,谢谢~!
小白问一下HTML的表单提交问题
图1rn[img=https://img-bbs.csdn.net/upload/201612/21/1482305836_44422.png][/img]rnrn图2rn[img=https://img-bbs.csdn.net/upload/201612/21/1482305721_290154.png][/img]rnrn图3rn[img=https://img-bbs.csdn.net/upload/201612/21/1482305869_698180.png][/img]rnrn图4rn[img=https://img-bbs.csdn.net/upload/201612/21/1482306098_997595.png][/img]rnrn我不是做前端的,现在有一点的需要,所以我想下个模板改一下,改动过程中需要添加功能,遇到了2个问题。rnrn1.图片1里面的那几个选项,如何能get到?供我使用。图片2为图片1中的相关代码。rn2.图片3中的红色框,怎么样才可以变大一些?在代码里面如何实现?图片4是模板结构。
java小白问关于回收的问题
我MainPanel里有个List,当堆栈用的。每次最上面一个堆栈的Operation操作完之后,也没有析构函数。rn自己写了个destruction()rn就是纯粹地MainPanel.operationList.remove(operationList.size()-1);rn请问这样会不会造成使用的内存回收不利?我每次程序要大量创建Operation?Java会回收吗?rn是不是要转移到另一个recycleList,然后定期对recycleList=null才好?
小白问Qt调节ARM程序
一直都是做单片机开发,linux下没有仿真器,调程序不能设断点。我在想,如果我要做一个视频播放应用,摄像头用USB。那么我在linux下安装了qt,肯定是把摄像头先插在PC上,这样可以先在PC上Debug程序,看变量、标志位什么的都是可以的。然后我交叉编译下载到ARM板,这个时候整个应用软件的环境不一样了,又不能debug,出现异常之后有什么方法去调试呢?
小白问一下这个程序错在哪了。。。
输入字符串s,编程统计出s中共出现了多少个数字字符。进一步考虑,如何统计出10个数字字符各自出现的次数。rn程序:rn#includernusing namespace std;rnint main()rnrn char a[100],c[100],k;rn int b[9];rn int i=0,j,p,nu=0,o=0;rn cin>>a;rn i=0;rn while(a[i]!='\0')rn rn if(a[i]>='0'&&a[i]<='9') rn rn nu++;rn c[o]=a[i];rn o++;rn rn i++;rn rn cout<<"Number's amount is:"<='0'&&k<='9')rn rn if (c[j]==k)rn rn b[i]=b[i]+1;rn break;rn rn i++;rn k=1+k;rn rn i=0;rn k='0';rn rn j=0; rn for(j=0;j<10;j++)rn rn cout<
不懂硬件的小白问一个工业用触摸屏的问题
我以前做的纯软件开发的,现在刚转到做机械设备的软件开发。我们公司之前有一个与dsp通信的软件是用VS开发,然后安装在电脑上的。现在要升级下,用触摸屏代替电脑。我不知道选什么样的,威纶通的可以吗?软件的功能也很简单,就是设置参数,统计处理结果。但是后期可能会有一个erp系统,然后将软件整到erp系统中作为一个模块。rn威纶通触摸屏做人机交互界面难吗?可以满足我的需求吗?或者有什么别的不用重头写代码的触摸屏推荐的吗?rn我只擅长C/C++/JAVA。回帖均有分,跪谢。
小白问一个基础的问题,希望各位老手解答一下
初学java,遇到一个问题 ,题目要求为:rn1、 考试成绩已保存在数组 scores 中,数组元素依次为 89 , -23 , 64 , 91 , 119 , 52 , 73rn2、 要求通过自定义方法来实现成绩排名并输出操作,将成绩数组作为参数传入rn3、 要求判断成绩的有效性( 0—100 ),如果成绩无效,则忽略此成绩rnrn我的代码如下rnrn[code=java]import java.util.Arrays;rnimport java.util.Scanner;rnpublic class WhoAreYou rn public static void main(String[] args) rn WhoAreYou hello = new WhoAreYou();rn int[] scores = 89,-23,64,91,119,52,73;rn hello.showTop3(scores);rn System.out.println("前三名成绩为:");rn rnrn public void showTop3(int[]scores)rn int j = 0;rn int[]score = 0;rn for(int i = 0; i < scores.length ; i++)rn if (scores[i]<100 && scores[i]>0)rn score[j]=scores[i];rn j++;rn if (scores[i]>100 || scores[i]<0)rn continue;rn rn rn Arrays.sort(score);rn for(int s =1 ; s < 3 ; s++ )rn System.out.println(score[-s]);rn rn rn [/code]rnrn为什么无法输出,是哪里出现了问题需要更改,希望各位大神可以为我解答一下
图像处理小白问一个问题,关于图片透明
我在TImage控件中用圆角矩形区域画了一张图片,但是图片的圆角部分还是白色的,如何能把这部分变透明呢,TIMAGE的透明属性我是设了的?紧急求助!rn代码如下:rnvarrn bmp:TBitmap;rn Rhandle:HRGN;rnbeginrn bmp:=TBitmap.Create;rn bmp.LoadFromFile(C_BMPFILE);rnrn Rhandle:=CreateRoundRectRgn(0,0,img1.Width,img1.Height,20,20);rn SelectclipRgn(img1.Canvas.Handle,rHandle);rn img1.Canvas.Draw(0,0,bmp);rn deleteObject(Rhandle);rnend;rn 效果如图:rn [img=http://hi.csdn.net/attachment/201107/13/9303198_1310538612P7WC.jpg][/img]rn希望图没挂,~
安卓小白问一个关于viee中的paint画笔问题
我想在白色背景下画几个小方块。默认黑色的,然后然他们以不同的显示时间来进行黑白交替。比如说,第一个小方块我想让他黑色停留1s白色停留1s,第二个小方块我想让他黑色停留2s,白色停留2 s,这样不断的循环的黑白交替下去。这应该怎么实现呢?因为我最后要做出的小方块特别的多,所以最好程序要简洁一些。因为不想让它运行太卡。各路大神帮个忙呗,最近真的被这个逻辑搞疯了。
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法