私は新しいアンドロイドの開発者です。コードでの経験はもうありません。URLからスピナーと解析データを作成し、スピナーに挿入したいと考えています。情報:すべてのアクティビティとタブにメニューがありますホーム活動、あなたは私のコードに拡張を持っている場合、私は私の主な問題をお知らせください共通メニューの基本クラスの活動をしてください作成:スピナーは私のデータを示して、私にここで設定したアダプタAndroid Spinner Adapter
基本活動と例外エラー与えない:
をimport android.os.Bundle;
import android.support.annotation.LayoutRes;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.widget.LinearLayoutCompat;
import android.view.View;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
public class BaseActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
protected LinearLayout fulllayout;
protected FrameLayout actContent;
@Override
public void setContentView(@LayoutRes int layoutResID) {
//For make Menu RTL
getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
fulllayout = (LinearLayout) getLayoutInflater().inflate(R.layout.activity_base, null);
actContent = (FrameLayout) fulllayout.findViewById(R.id.act_content);
getLayoutInflater().inflate(layoutResID, actContent, true);
super.setContentView(fulllayout);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.END)) {
drawer.closeDrawer(GravityCompat.END);
} else {
super.onBackPressed();
}
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_camera) {
// Handle the camera action
} else if (id == R.id.nav_gallery) {
} else if (id == R.id.nav_slideshow) {
} else if (id == R.id.nav_manage) {
} else if (id == R.id.nav_share) {
} else if (id == R.id.nav_send) {
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.END);
return true;
}
}
ここでは、ホーム活動:
ここ市ビーンズ:
package com.arabnewtech.a22.zoodrealstate.Beans;
import java.io.Serializable;
/**
* Created by abozaid on 27/09/16.
*/
public class CityBeans implements Serializable {
private String id;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
ここ市アダプタ:
package com.arabnewtech.a22.zoodrealstate.Adapters;
/**
* Created by abozaid on 28/09/16.
*/
import java.util.ArrayList;
import android.app.Activity;
import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import com.arabnewtech.a22.zoodrealstate.Beans.CityBeans;
import com.arabnewtech.a22.zoodrealstate.Home;
import com.arabnewtech.a22.zoodrealstate.R;
public class CityAdapter extends ArrayAdapter<String> {
private Activity activity;
private ArrayList data;
CityBeans tempValues=null;
LayoutInflater inflater;
/************* CustomAdapter Constructor *****************/
public CityAdapter(
Home activitySpinner,
int textViewResourceId,
ArrayList objects
)
{
super(activitySpinner, textViewResourceId, objects);
/********** Take passed values **********/
activity = activitySpinner;
data = objects;
/*********** Layout inflator to call external xml layout() **********************/
inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
return getCustomView(position, convertView, parent);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return getCustomView(position, convertView, parent);
}
// This funtion called for each row (Called data.size() times)
public View getCustomView(int position, View convertView, ViewGroup parent) {
Log.i("Iammmmmmmmmmmmmmmmmm","Herrrrrrrrrrrrrrr");
/********** Inflate spinner_rows.xml file for each row (Defined below) ************/
View row = inflater.inflate(R.layout.spinner_rows, parent, false);
/***** Get each Model object from Arraylist ********/
tempValues = null;
tempValues = (CityBeans) data.get(position);
TextView label = (TextView)row.findViewById(R.id.company);
TextView sub = (TextView)row.findViewById(R.id.sub);
if(position==0){
// Default selected Spinner item
label.setText("Please select Name");
sub.setText("");
}
else
{
// Set values for spinner each row
label.setText(tempValues.getId());
sub.setText(tempValues.getName());
}
return row;
}
}
ここFragment_home.xml
<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="wrap_content"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.arabnewtech.a22.zoodrealstate.Home$PlaceholderFragment">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:id="@+id/spinner1">
<Spinner
android:id="@+id/cityID"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_margin="5dp"></Spinner>
<Spinner
android:id="@+id/zoneID"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_margin="5dp"
android:layout_height="wrap_content"></Spinner>
</LinearLayout>
<LinearLayout
android:id="@+id/spinner2"
android:layout_below="@id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Spinner
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:layout_margin="5dp"></Spinner>
<Spinner
android:layout_width="0dp"
android:layout_weight="1"
android:layout_margin="5dp"
android:layout_height="wrap_content"></Spinner>
</LinearLayout>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/ColorYellow"
android:layout_below="@+id/spinner2"
android:text="بحث"/>
<TextView
android:paddingTop="20dip"
android:paddingLeft="20dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/output" />
</RelativeLayout>
ここSpinner_Row:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="3dip"
>
<TextView
android:padding="3dip"
android:layout_marginTop="2dip"
android:textColor="@color/colorPrimary"
android:textStyle="bold"
android:id="@+id/company"
android:layout_marginLeft="5dip"
android:text="sfsdf"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:padding="2dip"
android:textColor="@color/ColorYellow"
android:layout_marginLeft="5dip"
android:id="@+id/sub"
android:text="sfsf"
android:layout_below="@+id/company"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</RelativeLayout>
ログキャットアウトは入れ:
FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.arabnewtech.a22.zoodrealstate/com.arabnewtech.a22.zoodrealstate.Home}: java.lang.NullPointerException at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2295)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349)
at android.app.ActivityThread.access$700(ActivityThread.java:159)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:5419)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.arabnewtech.a22.zoodrealstate.Home.setListData(Home.java:123)
at com.arabnewtech.a22.zoodrealstate.Home.onCreate(Home.java:89)
at android.app.Activity.performCreate(Activity.java:5372)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1104)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2257)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2349)
at android.app.ActivityThread.access$700(ActivityThread.java:159)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1316)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:5419)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
at dalvik.system.NativeStart.main(Native Method)
なければならないlogcat出力 –
_italic_を投稿私は –
はあなたがデバッグしているものを確認することができ、それを追加しましたこの行の内容 '' 'JSONArray jo_result = jo.getJSONArray(" result ");' '' –