Android 从parse向GridLayout添加内容
我试图向客户显示从parse接收到的图像,并且我能够使用LinearLayout进行显示,但是当我尝试GridLayout时,它会给出空指针异常 GridLayout代码不起作用Android 从parse向GridLayout添加内容,android,android-gridlayout,Android,Android Gridlayout,我试图向客户显示从parse接收到的图像,并且我能够使用LinearLayout进行显示,但是当我尝试GridLayout时,它会给出空指针异常 GridLayout代码不起作用 package com.parse.starter; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; impo
package com.parse.starter;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.ViewGroup;
import android.widget.GridLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import com.parse.FindCallback;
import com.parse.GetDataCallback;
import com.parse.ParseException;
import com.parse.ParseFile;
import com.parse.ParseObject;
import com.parse.ParseQuery;
import java.util.List;
public class UserFeed extends AppCompatActivity {
String receivedUserName;
LinearLayout linearLayout;
GridLayout.LayoutParams params;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_feed);
// linearLayout = (LinearLayout) findViewById(R.id.linearLayout);
Toolbar toolbar = (Toolbar) findViewById(R.id.app_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Intent intent = getIntent();
receivedUserName = intent.getStringExtra("username");
setTitle(receivedUserName + "'s Feed");
ParseQuery<ParseObject> query = ParseQuery.getQuery("images");
query.whereEqualTo("uploaderName", receivedUserName);
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> imagesList, ParseException e) {
if (e == null) {
if (imagesList.size() > 0)
for (ParseObject imageInList : imagesList) {
ParseFile file = (ParseFile) imageInList.get("image");
file.getDataInBackground(new GetDataCallback() {
@Override
public void done(byte[] data, ParseException e) {
if (e == null) {
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
ImageView imageView = new ImageView(getApplicationContext());
imageView.setImageBitmap(bitmap);
imageView.setPadding(8, 8, 8, 8);
GridLayout gridLayout = (GridLayout) findViewById(R.id.gridLayout);
params.rowSpec = GridLayout.spec(0, 50);
imageView.setLayoutParams(new GridLayout.LayoutParams(params));
gridLayout.addView(imageView);
}
}
});
}
} else {
}
}
});
}
}
package com.parse.starter;
导入android.content.Intent;
导入android.graphics.Bitmap;
导入android.graphics.BitmapFactory;
导入android.os.Bundle;
导入android.support.v7.app.AppActivity;
导入android.support.v7.widget.Toolbar;
导入android.view.ViewGroup;
导入android.widget.GridLayout;
导入android.widget.ImageView;
导入android.widget.LinearLayout;
导入com.parse.FindCallback;
导入com.parse.GetDataCallback;
导入com.parse.ParseException;
导入com.parse.parse文件;
导入com.parse.ParseObject;
导入com.parse.ParseQuery;
导入java.util.List;
公共类UserFeed扩展了AppCompatActivity{
字符串receivedUserName;
线性布局线性布局;
GridLayout.LayoutParams参数;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u user\u提要);
//linearLayout=(linearLayout)findViewById(R.id.linearLayout);
Toolbar Toolbar=(Toolbar)findViewById(R.id.app_bar);
设置支持操作栏(工具栏);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Intent=getIntent();
receivedUserName=intent.getStringExtra(“用户名”);
setTitle(receivedUserName+“'s提要”);
ParseQuery=ParseQuery.getQuery(“图像”);
查询whereEqualTo(“上传名称”,receivedUserName);
findInBackground(新的FindCallback(){
公共作废完成(列表imagesList,Parsee){
如果(e==null){
如果(imagesList.size()>0)
用于(ParseObject imageInList:imagesList){
ParseFile file=(ParseFile)imageInList.get(“image”);
getDataInBackground(新的GetDataCallback(){
@凌驾
公共无效完成(字节[]数据,解析异常e){
如果(e==null){
位图位图=位图工厂.decodeByteArray(数据,0,数据.length);
ImageView=newImageView(getApplicationContext());
设置图像位图(位图);
设置填充(8,8,8,8);
GridLayout GridLayout=(GridLayout)findViewById(R.id.GridLayout);
params.rowSpec=GridLayout.spec(0,50);
setLayoutParams(新的GridLayout.LayoutParams(params));
gridLayout.addView(imageView);
}
}
});
}
}否则{
}
}
});
}
}
有效的线性布局代码是
package com.parse.starter;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.ViewGroup;
import android.widget.GridLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import com.parse.FindCallback;
import com.parse.GetDataCallback;
import com.parse.ParseException;
import com.parse.ParseFile;
import com.parse.ParseObject;
import com.parse.ParseQuery;
import java.util.List;
public class UserFeed extends AppCompatActivity {
String receivedUserName;
LinearLayout linearLayout;
GridLayout.LayoutParams params;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_feed);
// linearLayout = (LinearLayout) findViewById(R.id.linearLayout);
Toolbar toolbar = (Toolbar) findViewById(R.id.app_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Intent intent = getIntent();
receivedUserName = intent.getStringExtra("username");
setTitle(receivedUserName + "'s Feed");
ParseQuery<ParseObject> query = ParseQuery.getQuery("images");
query.whereEqualTo("uploaderName", receivedUserName);
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> imagesList, ParseException e) {
if (e == null) {
if (imagesList.size() > 0)
for (ParseObject imageInList : imagesList) {
ParseFile file = (ParseFile) imageInList.get("image");
file.getDataInBackground(new GetDataCallback() {
@Override
public void done(byte[] data, ParseException e) {
if (e == null) {
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
ImageView imageView = new ImageView(getApplicationContext());
imageView.setImageBitmap(bitmap);
imageView.setPadding(8, 8, 8, 8);
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.linearLayout);
imageView.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT
));
linearLayout.addView(imageView);
}
}
});
}
} else {
}
}
});
}
}
package com.parse.starter;
导入android.content.Intent;
导入android.graphics.Bitmap;
导入android.graphics.BitmapFactory;
导入android.os.Bundle;
导入android.support.v7.app.AppActivity;
导入android.support.v7.widget.Toolbar;
导入android.view.ViewGroup;
导入android.widget.GridLayout;
导入android.widget.ImageView;
导入android.widget.LinearLayout;
导入com.parse.FindCallback;
导入com.parse.GetDataCallback;
导入com.parse.ParseException;
导入com.parse.parse文件;
导入com.parse.ParseObject;
导入com.parse.ParseQuery;
导入java.util.List;
公共类UserFeed扩展了AppCompatActivity{
字符串receivedUserName;
线性布局线性布局;
GridLayout.LayoutParams参数;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u user\u提要);
//linearLayout=(linearLayout)findViewById(R.id.linearLayout);
Toolbar Toolbar=(Toolbar)findViewById(R.id.app_bar);
设置支持操作栏(工具栏);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Intent=getIntent();
receivedUserName=intent.getStringExtra(“用户名”);
setTitle(receivedUserName+“'s提要”);
ParseQuery=ParseQuery.getQuery(“图像”);
查询whereEqualTo(“上传名称”,receivedUserName);
findInBackground(新的FindCallback(){
公共作废完成(列表imagesList,Parsee){
如果(e==null){
如果(imagesList.size()>0)
用于(ParseObject imageInList:imagesList){
ParseFile file=(ParseFile)imageInList.get(“image”);
getDataInBackground(新的GetDataCallback(){
@凌驾
公共无效完成(字节[]数据,解析异常e){
如果(e==null){
位图位图=位图工厂.decodeByteArray(数据,0,数据.length);
ImageView=newImageView(getApplicationContext());
设置图像位图(位图);
设置填充(8,8,8,8);
LinearLayout LinearLayout=(LinearLayout)findViewById(R.id.LinearLayout);
imageView.setLayoutParams(新的ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_父级,
观景组