安卓study 2017.1.8

版权声明:沉迷代码,难以自拔 https://blog.csdn.net/qq_33846054/article/details/54143439

初学安卓,次次卡在button的事件监听处。这次要一鼓作气,把这个处理点击事件的机制看得赤裸裸!

public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		btndo=(Button)findViewById(R.id.button1);
		txtShow=(TextView)findViewById(R.id.textView1);
		btndo.setOnClickListener(btndoListener);

	}

private Button.OnClickListener btndoListener=new
Button.OnClickListener(){
	public void onClick (View v){
		txtShow.setText("你按到我了!");
	}
};

匿名内部类:

public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		btndo=(Button)findViewById(R.id.button1);
		txtShow=(TextView)findViewById(R.id.textView1);
		btndo.setOnClickListener(new OnClickListener(){
			public void onClick (View v){
				txtShow.setText("你按到我了!");
			}
			});

	}

英里转换器

private Button btndo;
    private TextView txtShow;
    private EditText editdo;
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		btndo=(Button)findViewById(R.id.button1);
		txtShow=(TextView)findViewById(R.id.textView2);
		editdo=(EditText)findViewById(R.id.editView1);
		btndo.setOnClickListener(new OnClickListener(){
			public void onClick (View v){
				int miles=Integer.parseInt(editdo.getText().toString());
				double km =1.61*(double)miles;
				txtShow.setText("时速"+km+"公里");
			}
			});
		

	}

多按钮共享事件 switch的应用

public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		bt1=(Button)findViewById(R.id.button1);
		bt2=(Button)findViewById(R.id.button2);
		bt3=(Button)findViewById(R.id.button3);
		text1=(TextView)findViewById(R.id.textView1);
		
		bt1.setOnClickListener(myListener);
		bt2.setOnClickListener(myListener);
		bt3.setOnClickListener(myListener);

	}		
			private Button.OnClickListener myListener=new 
					Button.OnClickListener(){
				
				public void onClick(View v){
					String s=text1.getText().toString();
					switch(v.getId()){
					case R.id.button1:
					text1.setText(s+"0");
					break;
					
					case R.id.button2:
					{text1.setText(s+"1");
					break;
					}
					case R.id.button3:
					{text1.setText(s+"2");
					break;
					}
					}
				}

			};
		

tablelayout

public class MainActivity extends Activity {
   		private EditText edit1;
        private Button b1,b2,b3,b4,b5,b6;
	@Override
	public void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		edit1=(EditText)findViewById(R.id.editText1);
		b1=(Button)findViewById(R.id.button1);
		b2=(Button)findViewById(R.id.button2);
		b3=(Button)findViewById(R.id.button3);
		b4=(Button)findViewById(R.id.button4);
		b5=(Button)findViewById(R.id.button5);
		b6=(Button)findViewById(R.id.button6);
     b1.setOnClickListener(listener);
     b2.setOnClickListener(listener);
     b3.setOnClickListener(listener);
     b4.setOnClickListener(listener);
     b5.setOnClickListener(listener);
     b6.setOnClickListener(listener);


	}		

	private Button.OnClickListener listener =new 
			Button.OnClickListener() {
				
				@Override
				public void onClick(View v) {
					// TODO Auto-generated method stub
					switch (v.getId()) {
					case R.id.button1:
						displayATM("1");
						break;
					case R.id.button2:
						displayATM("2");
						break;
					case R.id.button3:
						displayATM("3");
						break;
					case R.id.button4:
						displayATM("4");
						break;
					case R.id.button5:
						displayATM("5");
						break;
					case R.id.button6:
						displayATM("6");
						break;

					default:
						break;
					}
				}
			};
			private void displayATM(String s){
				String str=edit1.getText().toString();
				edit1.setText(str+s);
			}
			

这里写图片描述

4.2toast 弹出消息

public void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		edit1=(EditText)findViewById(R.id.editText1);
		b1=(Button)findViewById(R.id.button1);
		b2=(Button)findViewById(R.id.button2);
		b3=(Button)findViewById(R.id.button3);
		b4=(Button)findViewById(R.id.button4);
		b5=(Button)findViewById(R.id.button5);
		b6=(Button)findViewById(R.id.button6);
		b7=(Button)findViewById(R.id.button7);
		b8=(Button)findViewById(R.id.button8);

     b1.setOnClickListener(listener);
     b2.setOnClickListener(listener);
     b3.setOnClickListener(listener);
     b4.setOnClickListener(listener);
     b5.setOnClickListener(listener);
     b6.setOnClickListener(listener);
     b7.setOnClickListener(listener);
     b8.setOnClickListener(listener);



	}		

	private Button.OnClickListener listener =new 
			Button.OnClickListener() {
				
				@Override
				public void onClick(View v) {
					// TODO Auto-generated method stub
					switch (v.getId()) {
					case R.id.button1:
						displayATM("1");
						break;
					case R.id.button2:
						displayATM("2");
						break;
					case R.id.button3:
						displayATM("3");
						break;
					case R.id.button4:
						displayATM("4");
						break;
					case R.id.button5:
						displayATM("5");
						break;
					case R.id.button6:
						displayATM("6");
						break;
					case R.id.button7:{
						String str=edit1.getText().toString();
						if (str.length()>0){
							str=str.substring(0,str.length()-1);
							edit1.setText(str);
						}
					}
					case R.id.button8:{
						 String str=edit1.getText().toString();
						if (str.equals("667788")){
							Toast toast =Toast.makeText(MainActivity.this, "密码正确,欢迎使用提款功能", Toast.LENGTH_LONG);
						toast.show();	
						}
						else{
							Toast toast =Toast.makeText(MainActivity.this, "密码错误,请重新输入", Toast.LENGTH_LONG);
							toast.show();
						}
							
					}
					default:
						break;
					}
				}
			};
			private void displayATM(String s){
				String str=edit1.getText().toString();
				edit1.setText(str+s);
			}
			

这里写图片描述

2)消息提示中央呈现

case R.id.button8:{
						 String str=edit1.getText().toString();
						if (str.equals("123456")){
							Toast toast =Toast.makeText(MainActivity.this, "密码正确,欢迎使用提款功能", Toast.LENGTH_LONG);
						toast.show();	
						toast.setGravity(Gravity.CENTER, 0, 0);
						}
						else{
							Toast toast =Toast.makeText(MainActivity.this, "密码错误,请重新输入", Toast.LENGTH_LONG);
							toast.show();
							toast.setGravity(Gravity.CENTER, 0, 0);

						}
							
					}

这里写图片描述

4.3 alertdialog对话框

case R.id.button9:{
						new AlertDialog.Builder(MainActivity.this)
						.setTitle("确认窗口")
						.setIcon(R.drawable.ic_launcher)
						.setMessage("确定要结束程序?")
					    .show();
					}

这里写图片描述
2)加入交互按钮

case R.id.button9:{
						new AlertDialog.Builder(MainActivity.this)
						.setTitle("确认窗口")
						.setIcon(R.drawable.ic_launcher)
						.setMessage("确定要结束程序?")
						.setPositiveButton("确定", new  DialogInterface.OnClickListener() {
				
							public void onClick(DialogInterface dialog, int which) {
								
								finish();
							}
						})
						.setNegativeButton("取消", new  DialogInterface.OnClickListener() {
							
							public void onClick(DialogInterface dialog, int which) {
								
								
							}
						})
					    .show();
						break;
					}

这里写图片描述

一道练习题

package com.twomeng.meng;

import android.R.raw;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.location.GpsStatus.Listener;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
   		private Button b1,b2,b3,b4;
	@Override
	public void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		b1=(Button)findViewById(R.id.button1);
		b2=(Button)findViewById(R.id.button2);
		b3=(Button)findViewById(R.id.button3);
		b4=(Button)findViewById(R.id.button4);

b1.setOnClickListener(Listener);
b2.setOnClickListener(Listener);
b3.setOnClickListener(Listener);
b4.setOnClickListener(Listener);
	}		

	private Button.OnClickListener Listener=
			new OnClickListener() {
				
				@Override
				public void onClick(View v) {
					
					switch (v.getId()) {
					case R.id.button1:
						new AlertDialog.Builder(MainActivity.this)
						.setTitle("确认窗口")
						.setIcon(R.drawable.ic_launcher)
						.setMessage("你按了button1,按确定关闭对话框")
					    .setPositiveButton("确定", new DialogInterface.OnClickListener() {
							
							@Override
							public void onClick(DialogInterface dialog, int which) {
								finish();
								
							}
						})
					    .show();
						break;
					case R.id.button2:new AlertDialog.Builder(MainActivity.this)
					.setTitle("确认窗口")
					.setIcon(R.drawable.ic_launcher)
					.setMessage("你按了button2,按确定关闭对话框")
				    .setPositiveButton("确定", new DialogInterface.OnClickListener() {
						
						@Override
						public void onClick(DialogInterface dialog, int which) {
							finish();
							
						}
					})
				    .show();
						break;
					case R.id.button3:
						new AlertDialog.Builder(MainActivity.this)
						.setTitle("确认窗口")
						.setIcon(R.drawable.ic_launcher)
						.setMessage("你按了button3,按确定关闭对话框")
					    .setPositiveButton("确定", new DialogInterface.OnClickListener() {
							
							@Override
							public void onClick(DialogInterface dialog, int which) {
								finish();
								
							}
						})
					    .show();
						break;
						
					case R.id.button4:
						new AlertDialog.Builder(MainActivity.this)
						.setTitle("确认窗口")
						.setIcon(R.drawable.ic_launcher)
						.setMessage("你按了button4,按确定关闭对话框")
					    .setPositiveButton("确定", new DialogInterface.OnClickListener() {
							
							@Override
							public void onClick(DialogInterface dialog, int which) {
								finish();
								
							}
						})
					    .show();
						break;
					}
				}
			};
			
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
		int id = item.getItemId();
		if (id == R.id.action_settings) {
			return true;
		}
		return super.onOptionsItemSelected(item);
	}
}

这里写图片描述

第五章 单选、复选和下拉列表

private TextView text1;
	private CheckBox check1,check2,check3;
	
	public void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		text1=(TextView)findViewById(R.id.textView1);
		check1=(CheckBox)findViewById(R.id.check1);
		check2=(CheckBox)findViewById(R.id.check2);
		check3=(CheckBox)findViewById(R.id.check3);

		check1.setOnCheckedChangeListener(listener);
		check2.setOnCheckedChangeListener(listener);
		check3.setOnCheckedChangeListener(listener);

	}
	private CheckBox.OnCheckedChangeListener listener =
			new CheckBox.OnCheckedChangeListener() {
				
				public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                int n=0;
                String s="";
                String s1="",s2="",s3="";
                if (check1.isChecked()){
                	n++;
                	s1=check1.getText().toString()+" ";
                }
                else{
                	s1="";
                }
                if (check2.isChecked()){
                	n++;
                	s2=check2.getText().toString()+" ";
                }
                else{
                	s2="";
                }
                if (check3.isChecked()){
                	n++;
                	s3=check3.getText().toString()+" ";
                }
                else{
                	s3="";
                }
                s=s1+s2+s3;
                text1.setText("最喜欢的球类有:"+s+"共"+n+"项");
                
				}
			};

这里写图片描述

2)水平的复选框

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="我最喜欢的球类运动"
        android:textSize="20sp" />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
    <CheckBox
        android:id="@+id/check1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="篮球"
        android:textSize="20sp" />

    <CheckBox
        android:id="@+id/check2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="足球"
        android:textSize="20sp" />

    <CheckBox
        android:id="@+id/check3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="棒球"
        android:textSize="20sp" />
</LinearLayout>
    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="显示消息"
        android:textSize="20sp" />

</LinearLayout>

这里写图片描述

5.2 radiobutton radiogroup单选列表

private TextView text1;
	private RadioGroup group;
	private RadioButton button1,button2,button3;
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		text1=(TextView)findViewById(R.id.textView1);
		group=(RadioGroup)findViewById(R.id.radioGroup1);
		button1=(RadioButton)findViewById(R.id.radio0);
		button2=(RadioButton)findViewById(R.id.radio1);
		button3=(RadioButton)findViewById(R.id.radio2);
		group.setOnCheckedChangeListener(listener);

	}
	private RadioGroup.OnCheckedChangeListener listener=
			new RadioGroup.OnCheckedChangeListener() {
				
				public void onCheckedChanged(RadioGroup group, int checkedId) {
int p=group.indexOfChild((RadioButton)findViewById(checkedId));
int count=group.getChildCount();
if(checkedId==R.id.radio0)
	text1.setText(count+"项球类中,最喜欢第"+(p+1)+"项 "+button1.getText());
if(checkedId==R.id.radio1)
	text1.setText(count+"项球类中,最喜欢第"+(p+1)+"项 "+button2.getText());
if(checkedId==R.id.radio2)
	text1.setText(count+"项球类中,最喜欢第"+(p+1)+"项 "+button3.getText());
				}
			};
	

这里写图片描述

2)水平单选框

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="我最喜欢的球类运动"
        android:textSize="20sp" />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
    <RadioGroup android:orientation="horizontal"
        android:id="@+id/radioGroup1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <RadioButton
            android:id="@+id/radio0"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="篮球" />

        <RadioButton
            android:id="@+id/radio1"
            android:text="足球"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
             />

        <RadioButton
            android:id="@+id/radio2"
            android:text="棒球"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            />
    </RadioGroup>
</LinearLayout>

    <TextView
        android:id="@+id/textView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="显示消息"
        android:textSize="20sp" />

</LinearLayout>

这里写图片描述

5.3 spinner 下拉式列表

package com.twomeng.meng;

import org.apache.http.conn.BasicEofSensorWatcher;

import android.R.raw;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.location.GpsStatus.Listener;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {

	private TextView text1;
	private Spinner spinner;
	String[] Balls=new String[]{"篮球","足球","棒球","其他"};
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		text1=(TextView)findViewById(R.id.textView1);
		spinner=(Spinner)findViewById(R.id.spinner1);
		
		spinner=(Spinner)findViewById(R.id.spinner1);
		ArrayAdapter<String> adapterballs=new ArrayAdapter<String>
		(this, android.R.layout.simple_spinner_item,Balls);
		
		adapterballs.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        
		spinner.setAdapter(adapterballs);
		
		spinner.setOnItemSelectedListener(listener);
	}

	
			private Spinner.OnItemSelectedListener listener =
					new Spinner.OnItemSelectedListener() {
					
					public void onItemSelected(AdapterView<?> parent,View v,int position,long id ){
						String string=parent.getSelectedItem().toString();
						text1.setText(string);
						
					}
					public void onNothingSelected(AdapterView<?> parent ){
							
						}
					};

}

这里写图片描述

练习

package com.twomeng.meng;

import org.apache.http.conn.BasicEofSensorWatcher;

import android.R.raw;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.location.GpsStatus.Listener;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {

	private TextView textView;
	private CheckBox check1,check2,check3;
	
	
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		textView=(TextView)findViewById(R.id.textView2);
		check1=(CheckBox)findViewById(R.id.checkBox1);
		check2=(CheckBox)findViewById(R.id.checkBox2);
		check3=(CheckBox)findViewById(R.id.checkBox3);
		
		check1.setOnCheckedChangeListener(listener);
		check2.setOnCheckedChangeListener(listener);
		check3.setOnCheckedChangeListener(listener);

	}
	private CheckBox.OnCheckedChangeListener listener=
			new OnCheckedChangeListener() {
				
				@Override
				public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
					int n=0;
					String string;
					String s1,s2,s3;
					if (check1.isChecked()){
						n++;
						s1=check1.getText().toString();
						
					}
					else
						s1=" ";
					if (check2.isChecked()){
						n++;
						s2=check2.getText().toString();
						
					}
					else
						s2=" ";
					if (check3.isChecked()){
						n++;
						s3=check3.getText().toString();
						
					}
					else
						s3=" ";
					
					string=s1+s2+s3;
					textView.setText("最喜欢的程序语言有:"+string+"共"+n+"种");
				}
			};

	
			
}

这里写图片描述

package com.twomeng.meng;

import org.apache.http.conn.BasicEofSensorWatcher;

import android.R.raw;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.location.GpsStatus.Listener;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Adapter;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Spinner;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {

	private TextView textView;
	private RadioGroup group;
	private RadioButton b1,b2,b3,b4;
	private EditText editText;
	
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		textView=(TextView)findViewById(R.id.textView2);
		editText=(EditText)findViewById(R.id.editText1);
		b1=(RadioButton)findViewById(R.id.radio0);
		b2=(RadioButton)findViewById(R.id.radio1);
		b3=(RadioButton)findViewById(R.id.radio2);
		b4=(RadioButton)findViewById(R.id.radio3);
		group=(RadioGroup)findViewById(R.id.radioGroup1);
		group.setOnCheckedChangeListener(listener);

	}
	private RadioGroup.OnCheckedChangeListener listener=
			new RadioGroup.OnCheckedChangeListener() {

				public void onCheckedChanged(RadioGroup group, int checkedId) {
				if (checkedId==R.id.radio0){
					String string=editText.getText().toString();
					textView.setText(string+" 你的血型为 "+b1.getText());
				}
				if (checkedId==R.id.radio1){
					String string=editText.getText().toString();
					textView.setText(string+" 你的血型为 "+b2.getText());
				}
				if (checkedId==R.id.radio2){
					String string=editText.getText().toString();
					textView.setText(string+" 你的血型为 "+b3.getText());
				}
				if (checkedId==R.id.radio3){
					String string=editText.getText().toString();
					textView.setText(string+" 你的血型为 "+b4.getText());
				}
				}
			};
			
}

这里写图片描述

第六章 图片组件
重点内容

猜你喜欢

转载自blog.csdn.net/qq_33846054/article/details/54143439