① android中如何动态创建数据表
在布局中加入表格
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/table1">
</TableLayout>
之后再 MainActivity 中写入动态添加的代码
public void click(View v) {
if(row.getText().length()>0&&column.getText().length()>0){
//把输入的行和列转为整形
int row_int=Integer.parseInt(row.getText().toString());
int col_int=Integer.parseInt(column.getText().toString());
//获取控件tableLayout
tableLayout = (TableLayout)findViewById(R.id.table1);
//清除表格所有行
tableLayout.removeAllViews();
//全部列自动填充空白处
tableLayout.setStretchAllColumns(true);
//生成X行,Y列的表格
for(int i=1;i<=row_int;i++)
{
TableRow tableRow=new TableRow(MainActivity.this);
for(int j=1;j<=col_int;j++)
{
//tv用于显示
TextView tv=new TextView(MainActivity.this);
//Button bt=new Button(MainActivity.this);
tv.setText("("+i+","+j+")");
tableRow.addView(tv);
}
//新建的TableRow添加到TableLayout
tableLayout.addView(tableRow, new TableLayout.LayoutParams(MP, WC,1));
}
}else{
Toast.makeText(MainActivity.this,"请输入数值",1).show();
}
}
② 如何将Android数据库中表格的某一列在下拉列表中显示
请参考SDK下APIDemo例子,里面有详细的介绍,路径platforms/android-4(我的是1.6的)/samples/ApiDemos
,打开应用操作步骤如下Views-->List,里面有很多中列表,你自己选择;
关于新建item,如果你要实现自己的样式,可以自定Adapter;你提问中android.R.layout.simple_spinner_item和别人的item是一个作用,就是列表中每一行的样式,有什么问题再hi我
③ 安卓怎么编写图形化界面(比如图表)展示数据库数据
这个图形化界面是在layout布局文件中(.xml)编写代码,也可以将图表以图片形式放入UI文件里。数据库的数据可以采取调用方法显示在图表相应id位置的。因为不清楚你具体要求是什么,所以只能大概给你这么说一下
④ 安卓手机看表格数据不显示小数点后面数据怎么回事
摘要
亲,您好,根据您的问题,答主这边查询到的信息是:因为没设置好。
⑤ 安卓开发 如何拿到数据列表 把size显示到界面上
Android中加载list列表数据主要是通过Adapter实现,可用显示列表的控件如下:
Listview
GridView
ExpandListview
显示具体的数据需要通过Adapter实现,Android目前有4种Adapter:
ArrayAdapter
SimpleAdapter
SimpleCursorAdapter
BaseAdapter ( 自定义Adapter)
具体操作步骤 ( 以自定义Adapter为例):
在xml中定义Listview布局
在代码中通过ID找到Listview控件
构建Adapter对象,新建一个类继承自BaseAdapter,重写它的四个方法,具体如下代码
构造好适配器后设置Listview的adapter对象为新建的适配器,界面即可显示数据
在数据变动的地方,只需要调用adapter的notifyDataSetChanged方法即可刷新界面
package com.beryl.gougou;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import java.util.List;
/**
* Created by yt on 16/11/14.
*/
public class MyAdapter extends BaseAdapter {
private List<String> datalist;
private LayoutInflater inflater;
public MyAdapter(Context context ,List<String> datalist){
this.datalist = datalist;
inflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return datalist.size();
}
@Override
public Object getItem(int position) {
return datalist.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//此处参考网上的view缓存机制,示例demo不多说明
return null;
}
}
⑥ android sqlite查询两张表中的数据 如何显示出来
这是我刚写的简单例子,从联系人里读取数据,填入spinner,希望有用~
import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.ContactsContract.CommonDataKinds.StructuredName;
import android.provider.ContactsContract.Data;
import android.widget.SimpleCursorAdapter;
import android.widget.Spinner;
public class temp extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Cursor c = managedQuery(Data.CONTENT_URI,
new String[]{ Data._ID, Data.DATA1 },
Data.MIMETYPE + "='" + StructuredName.CONTENT_ITEM_TYPE + "'",
null,
null);
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
android.R.layout.simple_dropdown_item_1line,
c,
new String[]{ Data.DATA1 },
new int[]{ android.R.id.text1 });
Spinner s1 = (Spinner) findViewById(R.id.Spinner01);
s1.setAdapter(adapter);
}
}
⑦ Android中GridView显示表格数据实现了手势缩放,但垂直滚动条不能用了,求指教
会不会是接口冲突了啊? 就是说在OnTouchListener中重写了手往下滑动的代码,然后在OnGestureListener中也重写了手往下滑的代码,两个又不一样,然后系统不知道听哪个好啊?你可以网络搜索研究下OnTouchListener和OnGestureListener之间的关系,我也研究下,研究明白了互相通知下哈,互相学习~呵呵
可以把源码发我一份研究下吗?我自己试着在GridView上家手势(Gesture),似乎有点难度
⑧ 如何用安卓编写类Excel的表格并填充数据
前段时间应运营需求要求做一个小Demo用来显示数据,在这个过程中,我学会了用代码来做出类似于Excel表格的显示效果,下面就和大家一起分享。
要做成表格形式的布局,很容易让我们想到表格布局,所以先要新建一个layout,在这个layout中我们放入两个TableLayout,其中一个是用来显示表格中的标题,而另一个TableLayout用来显示数据,考虑到可能显示的数据较多,所以外面包上一层ScrollView。主要代码如下:
[html] view plain
<TableLayout
android:id="@+id/tablelayout_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#ffdedcd2"
android:stretchColumns="*" />
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@id/tablelayout_title"
android:orientation="vertical">
<TableLayout
android:id="@+id/tablelayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#ffdedcd2"
android:stretchColumns="*" />
</ScrollView>
写好布局文件后,我们开始要填充数据了,也就是我代码中写到的addWidget()方法。数据的话我是造的json类型的假数据,并且新建对象类进行解析,这个就不多说了。先看主要的填充数据的代码。首先是表格的标题,也就是我们通常看到的表格最上方那一栏。主要代码如下:
for (int j = 0; j < 1; j++) {
TableRow localTableRow1 = new TableRow(this);
localTableRow1.setBackgroundColor(getResources().getColor(R.color.realtime_table_bg));
for (int k = 0; k < this.column; k++) {
TextView localTextView1 = new TextView(this);
localTextView1.setWidth(this.viewWidth);
localTextView1.setBackgroundResource(R.drawable.table_shape_title);
localTextView1.setGravity(17);
localTextView1.setTextSize(2, 16);
localTextView1.setTextColor(getResources().getColor(R.color.white));
localTextView1.getPaint().setFakeBoldText(true);
localTextView1.setSingleLine();
switch (k) {
default:
break;
case 0:
localTextView1.setText("A");
localTableRow1.addView(localTextView1);
break;
case 1:
localTextView1.setText("B");
localTableRow1.addView(localTextView1);
break;
case 2:
localTextView1.setText("C");
localTableRow1.addView(localTextView1);
break;
case 3:
localTextView1.setText("D");
localTableRow1.addView(localTextView1);
break;
case 4:
localTextView1.setText("E");
localTableRow1.addView(localTextView1);
break;
case 5:
localTextView1.setText("F");
localTableRow1.addView(localTextView1);
break;
case 6:
localTextView1.setText("G");
localTableRow1.addView(localTextView1);
break;
case 7:
localTextView1.setText("H");
localTableRow1.addView(localTextView1);
}
}
this.tb_title.addView(localTableRow1, new TableLayout.LayoutParams(-1, -2));
}
我们用两个for循环来实现这个数据的填充,最外层for循环之所以判断“j<1”,是因为我们这里只要一行就够了。我们在这里新建一个TabRow,然后再在这一行中添加列。里层的这个for循环中的column就是我们的列数,这里我们用A~H表达我们的列标题名称,通过一个for循环每次新建一个新的TextView,然后判断是第几列,根据位置依次加入我们的列名称。最后在tb_title,也就是我们标题对应的这个TableLayout中添加这些view。
同样的,下面的表格布局也是同样的用两个for循环来实现,只是最外层循环我们是要根据服务器传过来的列表大小来决定了。
因为我们手机通常是书评,可能导致显示不全或不便观看的问题,所以在setContentView()方法之前我加了一个判断,保证一进入这个页面就会显示为横屏:
if (getRequestedOrientation() != ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
不过运行之后报错,后来发现是因为这个activity没有设置屏幕显示方向导致的,最后在清单文件里面加上下面这句代码就可以了。android:screenOrientation="sensorLandscape"
表格布局的实现和运用就介绍到这里了,demo下载地址:http://download.csdn.net/detail/shan286/9475782
⑨ 如何在Android上将现有的数据,以图表的形式展现在手机上。
主要思路是:
1. 把数据库分解成几个asset文件。
2. 当需要打开数据库时,如果数据库不存在,就把那几个asset文件重新合并成一个数据库文件。
3. 如果数据库的版本改变了,就在onUpgrade()方法中把数据库文件删除掉。
下面是代码:
//数据库的缺省路径
private static finalString DB_PATH = "/data/data/com.mypackage.myapp/databases/";
private static finalString DB_NAME = "mydb.db";
private static finalint DB_VERSION = 2;
private static finalString DB_SPLIT_NAME = "mydb.db.00";
private static finalint DB_SPLIT_COUNT = 3;
private SQLiteDatabasem_database;
private final Contextm_context;
/**
* Constructor
*保存传进来的context参数以用来访问应用的asset和资源文件。
* @param context
*/
public MyDB(Contextcontext) {
super(context, DB_NAME, null, DB_VERSION);
this.m_context = context;
}
public static MyDBopenDatabaseReadOnly(Context context) {
MyDB db = new MyDB(context);
try {
db.createDataBase();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
db.openDataBase(SQLiteDatabase.OPEN_READONLY);
return db;
}
public static MyDBopenDatabaseReadWrite(Context context) {
MyDB db = new MyDB(context);
try {
db.createDataBase();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
db.openDataBase(SQLiteDatabase.OPEN_READWRITE);
return db;
}
/**
*创建一个空数据库,用来存储你已有的数据库。
*/
public voidcreateDataBase() throws IOException{
boolean dbExist =checkDataBase();
if (dbExist) {
/*
**如果你的数据库的版本改变了,调用这个方法确保在onUpgrade()被调用时
**传进去的是可写的数据库。
⑩ android smarttable如何实现数据全部显示使用ScrollView拖动
1、SDI程序;
2、继承ScrollView类,派生几个不同的view;
3、继承SplitterWnd类,将SDI分割成不同的部分;
4、在每个view(从ScrollView类派生而来的)上会有不同的东西要显示,主要是一些控件(EditBox、ComboBox、CheckBtn、Button等)。
当前状态:
1、SDI分割已完成;
2、每个分割的部分上也生成了view(从ScrollView类派生而来的);
4、每个view上也动态(请注意,每个控件都是动态生成的,因为控件数量、名称、类型都会变)生成了各个控件。
所遇问题:
1、现在我的view上由于程序启动时的大小的原因,只能显示10个控件,再多的控件都显示不出来了;
2、若多余10个,更多的控件会从第一个控件的位置重新生成,这样就形成了覆盖;
3、当前view所见范围外的界面都显示不出来,拖动滚动条后出现的是残影。
希望效果:
每个view上能显示10多个控件,控件都是沿着Y方向一个一个排列下去,会超出当前view所见范围,但是通过拖动滚动条可以都看到并操作。