[英]How to call a method and use it's return value as an another method parameter?
public class MainActivity extends AppCompatActivity {
public int theMethod(){
return 3;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView = (TextView) findViewById(R.id.theOutput);
textView.setText(theMethod());
}
}
我试过这个。 用 setText 将 theMethod 的返回值写到屏幕上。
结果是当我尝试启动时应用程序就停止了。
我怎么能那样做? 谢谢。
编辑:谢谢你们。 现在它起作用了。 爱你们!
textView.setText(String.valueOf(theMethod()));
如果您查看了 TextView 的文档,您可以看到 setText(int) 实际上需要一个资源 ID:( https://developer.android.com/reference/android/widget/TextView.html#setText(int) )
所以你必须把你的 int 变成一个 CharSequence,你可以简单地做
textView.setText(theMethod()+"");
像这样尝试。
textview.setText(""+theMethod());
并发布您的 logcat。
您的问题是TextView
上有两个setText()
方法。
第一个是您正在使用的setText(int param)
,并需要一个字符串资源 ID ,如R.string.some_text
。
您打算使用的是setText(String param)
,它在TextView
显示String
。 要解决此问题,请让您的方法返回一个字符串,如下所示:
public String theMethod(){
return String.valueOf(3);
}
您的问题是,当您尝试将 int 值传递给TextView
的setText()
方法时,它会尝试查找与您传递的整数关联的字符串资源,这就是您程序崩溃的原因。
尝试将其设置如下
textview.setText(String.valueOf(theMethod()));
然后你不会得到ResourceNotFoundException
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.