如何用追加OnClick方法文本 [英] How to append text with OnClick method
问题描述
我想创建一个字符串所使用的组件附加一旦被ImageView的pressed。
我有哪些点击我追加价值为字符串的ImageView的名为ImageView的并命名为ImageView的。
最后,在一个点击按钮的时候,我想字符串以在最后覆盖叫出来敬酒露面。
我也因此,定义的字符串(命名的结果),按钮和图像,但我仍然得到很多的错误,最值得注意的是将字符串的时候我不记得了值1
任何想法?
按钮按钮;
按钮单击=(按钮)findViewById(R.id.button);
字符串结果;
ImageView的ImageView的=(ImageView的)findViewById(R.id.imageView);@覆盖
保护无效的onCreate(捆绑savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_main);
工具条工具栏=(栏)findViewById(R.id.toolbar);
setSupportActionBar(工具栏);(......)公共类节目{
公共无效的主要(字串[] args){ 最终诠释值1 = 300;
双数值2 = 3.14;
短值3 = 5;
字符值4 ='A'; //创建的StringBuilder并添加四个值给它。
最后StringBuilder的建设者=新的StringBuilder();
builder.append(值2).append(\\ n);
builder.append(VALUE3).append(\\ n);
builder.append(值4); //显示结果。
字符串结果= builder.toString();
的System.out.println(结果);
公共无效的onClick(视图v){ Imageview.setOnClickListener(新View.OnClickListener(){
builder.append(值).append(\\ n);
}
}}@覆盖
公共无效的onClick(视图V){
Toast.makeText(getApplicationContext(),getApplicationContext().getResources().getString(Integer.parseInt(result)), Toast.LENGTH_LONG).show();
}
您主要活动Java类财产以后有这样的
公共类MainActivity扩展AppCompatActivity { Button按钮;
点击按钮;
字符串结果=; @覆盖
保护无效的onCreate(捆绑savedInstanceState){
super.onCreate(savedInstanceState);
的setContentView(R.layout.activity_main);
点击=(按钮)findViewById(R.id.button);
最终诠释值1 = 300;
最终双数值2 = 3.14;
最终短值3 = 5;
最后的字符值4 ='A'; 工具条工具栏=(栏)findViewById(R.id.toolbar);
setSupportActionBar(工具栏);
FloatingActionButton FAB =(FloatingActionButton)findViewById(R.id.fab);
fab.setOnClickListener(新View.OnClickListener(){
@覆盖
公共无效的onClick(查看视图){
//创建发送意图
意向shareIntent =
新意图(android.content.Intent.ACTION_SEND);//设置类型
shareIntent.setType(text / plain的);//添加一个主题
shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
将主题在这里);//建立消息的主体被共享
字符串shareMessage =插入邮件正文在这里。//添加消息
shareIntent.putExtra(android.content.Intent.EXTRA_TEXT,
shareMessage);//启动共享选择器
startActivity(Intent.createChooser(shareIntent,getResources()的getString(R.string.FinalString))。);
}
});
//创建的StringBuilder并添加四个值给它。
最后StringBuilder的建设者=新的StringBuilder();
builder.append(值2).append(\\ n);
builder.append(VALUE3).append(\\ n);
builder.append(值4); ImageView的ImageView的=(ImageView的)findViewById(R.id.imageView);
imageview.setOnClickListener(新View.OnClickListener(){
@覆盖
公共无效的onClick(视图v){
builder.append(值).append(\\ n); }
});
click.setOnClickListener(新View.OnClickListener(){
@覆盖
公共无效的onClick(视图v){
Toast.makeText(MainActivity.this,builder.toString(),Toast.LENGTH_LONG).show();
}
});
}
}
我改变你的XML文件来这iths更好
<?XML版本=1.0编码=UTF-8&GT?;
< LinearLayout中的xmlns:机器人=http://schemas.android.com/apk/res/android
的xmlns:程序=http://schemas.android.com/apk/res-auto
的xmlns:工具=http://schemas.android.com/tools
机器人:layout_width =match_parent
机器人:layout_height =match_parent
机器人:方向=垂直
机器人:paddingBottom会=@扪/ activity_vertical_margin
机器人:paddingLeft =@扪/ activity_horizontal_margin
机器人:paddingRight =@扪/ activity_horizontal_margin
机器人:paddingTop =@扪/ activity_vertical_margin
工具:上下文=MainActivity。> <的TextView
机器人:ID =@ + ID / TextView的
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:文字=你好!世界 /> < ImageView的
机器人:ID =@ + ID / ImageView的
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_marginTop =88dp
机器人:可点击=真
机器人:SRC =@机器人:可绘制/ ic_input_add/> <按钮
机器人:ID =@ + ID /按钮
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:文字=新按钮/> <的TextView
机器人:ID =@ + ID / textView2
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:文字=大文本
机器人:textAppearance =:/>中的Android ATTR / textAppearanceLarge?
< / LinearLayout中>
我测试的每个事物精细
和对你的错误显示评论有
I would like to create a string whose components are appended once an ImageView is pressed.
I have an ImageView called imageView and named ImageView on clicking which I am appending a value to a string. Finally when clicking on one button, I would like the string to show up with a Toast called out in the last Override. I have, therefore, defined the string (named result), the button and the image, but I still get many errors, most notably I can't recall the "value1" when appending the String.
Any ideas?
Button button;
Button Click = (Button) findViewById(R.id.button);
String result;
ImageView Imageview = (ImageView) findViewById(R.id.imageView);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
(...)
public class Program {
public void main(String[] args) {
final int value1 = 300;
double value2 = 3.14;
short value3 = 5;
char value4 = 'A';
// Create StringBuilder and add four values to it.
final StringBuilder builder = new StringBuilder();
builder.append(value2).append("\n");
builder.append(value3).append("\n");
builder.append(value4);
// Display results.
String result = builder.toString();
System.out.println(result);
public void onClick(View v) {
Imageview.setOnClickListener(new View.OnClickListener() {
builder.append(value1).append("\n");
}
}
}
@Override
public void onClick(View V){
Toast.makeText(getApplicationContext(),getApplicationContext().getResources().getString(Integer.parseInt(result)), Toast.LENGTH_LONG).show();
}
Your Main Activity Java class have somthing like this
public class MainActivity extends AppCompatActivity {
Button button;
Button click;
String result ="";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
click = (Button) findViewById(R.id.button);
final int value1 = 300;
final double value2 = 3.14;
final short value3 = 5;
final char value4 = 'A';
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//create the send intent
Intent shareIntent =
new Intent(android.content.Intent.ACTION_SEND);
//set the type
shareIntent.setType("text/plain");
//add a subject
shareIntent.putExtra(android.content.Intent.EXTRA_SUBJECT,
"Insert Subject Here");
//build the body of the message to be shared
String shareMessage = "Insert message body here.";
//add the message
shareIntent.putExtra(android.content.Intent.EXTRA_TEXT,
shareMessage);
//start the chooser for sharing
startActivity(Intent.createChooser(shareIntent, getResources().getString(R.string.FinalString)));
}
});
// Create StringBuilder and add four values to it.
final StringBuilder builder = new StringBuilder();
builder.append(value2).append("\n");
builder.append(value3).append("\n");
builder.append(value4);
ImageView imageview = (ImageView) findViewById(R.id.imageView);
imageview.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
builder.append(value1).append("\n");
}
});
click.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(MainActivity.this,builder.toString(),Toast.LENGTH_LONG).show();
}
});
}
}
i change Your XMl File To This iths better
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="88dp"
android:clickable="true"
android:src="@android:drawable/ic_input_add" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
I Test It every things Fine
And Show comment on Your Error there
这篇关于如何用追加OnClick方法文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!