- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我的 Activity :
package com.app.redbuslayout;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONObject;
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.ViewGroup.LayoutParams;
import android.widget.ArrayAdapter;
import android.widget.GridView;
import android.widget.RelativeLayout;
import android.widget.Toast;
public class MainActivity extends Activity {
GridView grid;
RelativeLayout r1;
String maxrows;
int maxcol;
int[] imageId = {
R.drawable.seat,
R.drawable.seat,
R.drawable.seat,
R.drawable.seat,
R.drawable.seat,
R.drawable.seat,
R.drawable.seat,
R.drawable.seat ,R.drawable.seat,
R.drawable.seat,
R.drawable.seat,
R.drawable.seat,
R.drawable.seat,
R.drawable.seat,
R.drawable.seat,
R.drawable.seat,
R.drawable.seat,
R.drawable.seat,
R.drawable.seat,
R.drawable.seat,
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
CustomGrid adapter = new CustomGrid(MainActivity.this, imageId);
RelativeLayout relativeLayout = new RelativeLayout(this);
// define the RelativeLayout layout parameters.
RelativeLayout.LayoutParams relativeLayoutParams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.FILL_PARENT,
RelativeLayout.LayoutParams.FILL_PARENT);
grid =new GridView(MainActivity.this);
grid.setLayoutParams(new GridView.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
grid.setNumColumns(maxcol);
grid.setAdapter(adapter);
relativeLayout.addView(grid);
// set the RelativeLayout as our content view
setContentView(relativeLayout, relativeLayoutParams);
new GetRoute().execute("http://sb2.reloadit.in/TravelServices.asmx/Getlayout");
}
private class GetRoute extends AsyncTask<String, Void, JSONObject> {
/*String mJourneyDate;
public GetData(String pJourneyDate) {
this.mJourneyDate = pJourneyDate;
}*/ProgressDialog pd = null;
@Override
protected void onPreExecute() {
super.onPreExecute();
pd = ProgressDialog.show(MainActivity.this, "", "Loading...", true);
}
@Override
protected JSONObject doInBackground(String... params) {
String response;
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(params[0]);
List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(2);
nameValuePair.add(new BasicNameValuePair("RouteScheduleID","428205707"));
nameValuePair.add(new BasicNameValuePair("JourneyDate","2014-12-16"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePair));
HttpResponse responce = httpclient.execute(httppost);
HttpEntity httpEntity = responce.getEntity();
response = EntityUtils.toString(httpEntity);
Log.d("response is", response);
return new JSONObject(response);
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(JSONObject result)
{
super.onPostExecute(result);
//Log.v("TAG_RESULTadapter",""+result);
pd.dismiss();
if(result != null)
{
try
{
JSONObject jobj = result.getJSONObject("Response");
String message = jobj.getString("Message");
String issuceess = jobj.getString("IsSuccess");
if(issuceess.equals("true"))
{
JSONObject layout = result.getJSONObject("Layout");
// Log.v("TAG_routearray",""+layoutarray);
maxrows=layout.getString("MaxRows");
maxcol=layout.getInt("MaxColumns");
/* Log.v("TAG_maxrows",""+maxrows);
Log.v("TAG_Maxcol",""+maxcol);*/
JSONArray routearray = layout.getJSONArray("SeatDetails");
for (int i = 0; i < routearray.length(); i++) {
String Row = routearray.getJSONObject(i).getString("Row");
// Log.v("TAG_routearray",""+Row);
String Col = routearray.getJSONObject(i).getString("Col");
String Height = routearray.getJSONObject(i).getString("Height");
String Width = routearray.getJSONObject(i).getString("Width");
String SeatNo = routearray.getJSONObject(i).getString("SeatNo");
String Gender = routearray.getJSONObject(i).getString("Gender");
String Deck = routearray.getJSONObject(i).getString("Deck");
String IsAvailable = routearray.getJSONObject(i).getString("IsAvailable");
String Fare = routearray.getJSONObject(i).getString("Fare");
Log.v("TAG_Maxfare",""+Fare);
}
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
else
{
Toast.makeText(MainActivity.this, "Network Problem", Toast.LENGTH_LONG).show();
}
}
}
}
适配器类:
package com.app.redbuslayout;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class CustomGrid extends BaseAdapter{
private Context mContext;
private final int[] Imageid;
public CustomGrid(Context c,int[] Imageid ) {
mContext = c;
this.Imageid = Imageid;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return Imageid.length;
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View grid;
LayoutInflater inflater = (LayoutInflater) mContext
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
grid = new View(mContext);
grid = inflater.inflate(R.layout.row_grid, null);
ImageView imageView = (ImageView)grid.findViewById(R.id.grid_image);
imageView.setImageResource(Imageid[position]);
} else {
grid = (View) convertView;
}
return grid;
}
}
在我的 json 应用程序中,我得到了 maxrows 和 maxcolumns。基于 maxrow 和 maxcolumn 我想创建具有相同列数和行数的 GridView 。每个网格包含相同的图像。
那么如何动态创建这个 gridview 呢?
最佳答案
LazyAdapter adapter;
adapter = new LazyAdapter(this, Col , Height , Width, SeatNo );
grid.setAdapter((ListAdapter) adapter);
并且在 LazyAdapter 中扩展了 BaseAdapter 类
public LazyAdapter(Activity a, String[] d, String[] textname,
String catID, String subCatIDD) {
activity = a;
data = d;
textdataamag = textname;
this.catID = catID;
this.subCatIDD = subCatIDD;
inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
它是构造函数来保存您从 gridview 类发送的 View 。
public View getView(int position, View convertView, ViewGroup parent) {
//here you get handle your view
例如
View vi = convertView;
if (convertView == null)
vi = inflater.inflate(R.layout.masterindex, null);
TextView text = (TextView) vi.findViewById(R.id.channelTXT);
ImageView image = (ImageView) vi.findViewById(R.id.channelIMG);
}
return view
要处理 LazyAdapter 类,您可以从中获取完整引用 http://www.javacodegeeks.com/2013/08/android-custom-grid-view-example-with-image-and-text.htmlCustomGridViewAdapter.java 类
关于android - 我如何获得动态 GridView android?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27504956/
我有一个需要以编程方式作为列(而不是行)绑定(bind)到 gridview 的值列表。例如,如果我的 DAL 返回 10 个值,我需要将这 10 个值显示为 gridview 中的列作为标题文本,并
我有一个使用 out-gridview 显示结果的脚本.这是一个简单的例子: "hello world" | out-gridview 当我使用 Run with PowerShell 运行脚本时,它
我正在尝试使用工作正常的 Kartik 导出小部件,除了它没有在扩展“函数/网格”中获取数据。现在我当然明白它是如何工作的,它实际上并没有显示任何东西,只是呈现另一个 View 。但我不知道如何在导出
在 Android 教程中,GridView tutorial准确的说是有一行代码 GridView gridview = (GridView) findViewById(R.id.gridview)
我正在尝试为与我的 gridview 关联的每一列添加一个标题,这样当页面足够宽以显示多行项目时,列标题应该显示在每一列的顶部,如果页面缩小,以至于该列不再适合。 最终结果看起来像这样: 2 colu
在我使用 comboBox 而不是 default(textBox) 在 gridview 中使用这个搜索之前: [ 'attribute' => 'project_status',
我想在列中显示我的交易表中一个/所有帐户的总余额。余额列应显示添加上一行总余额的余额。 我的网格 View 代码是 'yii\grid\SerialColumn'],
我正在使用 gridview 列出我的所有数据。我的 table 看起来像这样。 $dataProvider, 'columns' => [ 'firstName',
我目前正在构建一个 Windows 8 XAML C# 应用程序。在一个页面中,我有一个用于水平滑动和滚动的滚动查看器。我有几个控件可以很好地与 scorllviewer 配合使用。但是当您滚动并且光
当调整 GridView 的大小时,它的元素被重新排列,该元素的动画似乎不起作用。 在这里你可以找到一个简单的例子:http://pastebin.com/BgST6sCv 如果单击示例中的其中一个方
如何动态更改 gridview 模板列顺序? 最佳答案 迭代 通通栏目 的网格 View 对象和 店铺 他们在 收藏 . List columns = new List(); foreach (Dat
我在 Yii2 中使用了 CRUD 生成器,它为我的 actionIndex 生成了以下代码 Controller ... public function actionIndex() { $s
在我的用户模型中我有一个函数: public function getRole() { if ($this->role == self::ROLE_USER) { return
我正在构建一个带有 Yii2 框架的 webapp,它将为用户(登录)提供下载管理员预先上传文件的能力。 我已经创建了操作 actionDownload在调用 sendFile() 的特定 Contr
我想在 GridView 中订购图像。我已经使用列表框并成功将图像添加到其中。它的显示如下 但我希望这些图像显示在 GridView 中。可能与否。 请帮助我......提前致谢 最佳答案 出于此类目
我试图通过在 QtQuick 2.0 (Qt 5) 中动态填充 ListModel 来填充 GridView。它可以工作,但应用程序启动速度非常慢: 应用程序窗口立即出现,但大约需要 2 秒才会出现浅
我在 Yii2 GridView 小部件中显示一些列,“执行人员名称”是其中之一,但它应该仅在主管登录时显示,而不是在执行人员登录时显示。 当我将可见值硬编码为零时,它不会显示如下: [ 'l
我想用 HTML 制作一个表格。所以我从数据库中获取了一些数据。 每个项目都是一个用户。用户有用户名、名字、姓氏和电子邮件。我想制作一个表格来列出这些用户。 每个用户都必须换行。我已经在互联网上搜索过
我想在 pjax 处于事件状态的排序 gridview 之后运行脚本。重新加载 gridview 后我找不到任何事件处理程序。 pjax调用和gridview刷新后有没有正确的事件处理方法? 最佳答案
在 WinRT 上,我有一个 GridView 。我想在到达 gridview 的末尾时执行一个方法。 但是,没有像 GridView 那样的事件方法。 我尝试检测对 gridview 的操纵,但似乎
我是一名优秀的程序员,十分优秀!