安卓实现的根据坐标显示位置功能

最近在写一个简单的签到功能,能够根据提供的坐标将坐标显示到坐标分布图中,


MainActivity:

package com.example.xuanzuo;



import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {
    private Button qiandao;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		qiandao = (Button) findViewById(R.id.qiandao);
		qiandao.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				LayoutInflater layoutInflater = LayoutInflater.from(MainActivity.this); 
				final View view = layoutInflater.inflate(R.layout.dialog,null); 
				new AlertDialog.Builder(MainActivity.this).setTitle("        填写坐标").setView(view).setPositiveButton("确定", new DialogInterface.OnClickListener() {
					@Override
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub
						EditText pai = (EditText) view.findViewById(R.id.pai);
						EditText lie = (EditText) view.findViewById(R.id.lie);
						int pai_1 =Integer.parseInt(pai.getText().toString());
						int lie_1 =Integer.parseInt(lie.getText().toString());
						Intent intent = new Intent(MainActivity.this,SeatActivity.class);
					    intent.putExtra("pai_1", pai_1);
						intent.putExtra("lie_1", lie_1);
						startActivity(intent);
						Toast.makeText(MainActivity.this, "你的座位为"+ pai_1 +"排" + lie_1 +"列", Toast.LENGTH_SHORT).show();
					}
				}).setNegativeButton("取消", null).show();
			}
		});
	}
}

跳转以后的界面,显示的是一个坐标平面分布图:


package com.example.xuanzuo;

import java.util.ArrayList;
import java.util.List;

import com.edu.hpu.storage.ImageViewGridAdapter;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.GridView;




public class SeatActivity extends Activity {

//	@Override
//	protected void onCreate(Bundle savedInstanceState) {
//		super.onCreate(savedInstanceState);
//		setContentView(R.layout.activity_seat);
//	}
   
	private GridView gridview;
	private ImageViewGridAdapter adapter;
	private ArrayList<Integer>data;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.image);
		
		gridview = (GridView)findViewById(R.id.gridView1);
		data = new ArrayList<Integer>();
		adapter = new ImageViewGridAdapter(this, data);
		gridview.setAdapter(adapter);
		
		data.addAll(getData());
		adapter.notifyDataSetChanged();
	}
		
		
	
	public List<Integer> getData(){
		List<Integer> data = new ArrayList<Integer>();
		Intent intent = getIntent();
		 int pai_1 = intent.getIntExtra("pai_1", 0);
		   int lie_1 = intent.getIntExtra("lie_1",0);
		   pai_1--;
		   lie_1--;
		   for(int i=0;i<10;i++){
			   for(int j=0;j<10;j++){
				   if(i==pai_1 && j==lie_1){
					   data.add(R.drawable.seat_checked);
				   }else{
					   data.add(R.drawable.seat_normal);
				   }
				   
			   }
		   }
		return data;
	}
}

这个是我写的一个适配器:

package com.edu.hpu.storage;

import java.util.ArrayList;
import java.util.List;

import com.example.xuanzuo.R;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;

public class ImageViewGridAdapter extends BaseAdapter {

	private Context context;
	private List<Integer>data;
	
	
	public ImageViewGridAdapter(Context context, List<Integer> data) {
		super();
		this.context = context;
		setData(data);
	}

	public void setData(List<Integer> data){
		if(data == null){
			data = new ArrayList<Integer>();
		}
		this.data = data;
	}
	@Override
	public int getCount() {
		// TODO Auto-generated method stub
		return this.data.size();
	}

	@Override
	public Object getItem(int arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public long getItemId(int arg0) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		// TODO Auto-generated method stub
		ViewHolder holder;
		if(convertView == null){
			holder = new ViewHolder();
			convertView = LayoutInflater.from(context).inflate(R.layout.grid_item, null);
			holder.image = (ImageView)convertView.findViewById(R.id.item_grid);
           convertView.setTag(holder);
		}else{
			holder =(ViewHolder) convertView.getTag();
		}
		
		holder.image.setImageResource(data.get(position));
		return convertView;
	}
	private class ViewHolder{
		ImageView image;
	}

}

main_activity布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
     >

    <Button 
        android:id="@+id/qiandao"
        android:layout_width="100dip"
        android:layout_height="70dip"
        android:background="#C1C1C1"
        android:text="签到"
        android:textColor="#CD0000"
        />

</RelativeLayout>

seat_activty布局:

<RelativeLayout 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"
    tools:context="${relativePackage}.${activityClass}" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</RelativeLayout>

当点击签到时,会弹出一个对话框,提示提交坐标:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" >
    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="19sp"
        android:text="   排:"/>
    <EditText 
        android:id="@+id/pai"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
    </LinearLayout>
    <LinearLayout 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        >
        <TextView 
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="19sp"
            android:text="   列:"/>
        <EditText 
            android:id="@+id/lie"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>
    

</LinearLayout>

gridView中的item:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/item_grid"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_gravity="center_vertical"
        android:src="@drawable/ic_launcher" />

</LinearLayout>

gridview界面:

<RelativeLayout 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:background="#000000"
    >

    <GridView
        android:id="@+id/gridView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:numColumns="10"
        android:columnWidth="70dp"
        android:horizontalSpacing="4dp"
        android:stretchMode="columnWidth"
         >
    </GridView>

</RelativeLayout>



posted @   wojiaohuangyu  阅读(15)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示