を作ってみました。リストビュー。しかし、それはうまくいきません。メイン アクティビティでこのボタンをクリックすると、クラッシュしました。
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Coming Soon: Expansion View"
android:onClick="exp"
/>
メイン アクティビティの Java コードは次のとおりです。それは、私が開発しているゲームのシンプルなメイン メニューです。これは狂気です。
package com.apw.games.rpg.medieval;
import android.app.*;
import android.os.*;
import android.view.*;
import android.widget.*;
import android.content.*;
import android.util.*;
import android.graphics.*;
public class MainActivity extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
AlertDialog alertDialog = new
AlertDialog.Builder(MainActivity.this).create();
alertDialog.setTitle("Medieval: The Video Game");
alertDialog.setMessage("All Games Begin. Season One of the Game, Version 1. First Expansion coming soon- Life of Darkness.");
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//here you can add functions
} });
alertDialog.setIcon(R.drawable.medieval_background);
alertDialog.show();
}
@Override
public void exp(View v) {
Intent
intt = new Intent(this, Expansions.class);
startActivity(intt);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu, menu); return true; }
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.quit:
Intent intent = new Intent(this, Exit.class);
startActivity(intent);
return true;
case R.id.new_game:
Intent i = new Intent(this, New_Game.class);
startActivity(i);
return true;
case R.id.visit_site:
Intent inte = new Intent(this, Site.class);
startActivity(inte);
return true;
case R.id.apw_site:
Intent inten = new Intent(this, APWSite.class);
startActivity(inten);
return true;
default: return super.onOptionsItemSelected(item);
}}}
リストビューのレイアウトは次のとおりです。また、これはすべて、StackOverflow の誰かから入手したチュートリアルからのものです。この最初のものは simplerow.xml と呼ばれます
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rowTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:textSize="16sp" >
</TextView>
ここに、expansions.xml という名前のもう 1 つのファイルがあります。これらの「R.layout」ファイルで使用される Java コードは、後で投稿されます。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/list_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<ListView
android:id="@+id/list_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
</ListView>
</LinearLayout>
ここに「グランドスラム」Java ファイルがありますが、これに加えて、これをすべて Android から実行しているため、何が起こっているのかわかりません。私の AIDE はエラーを表示しませんでしたが、アプリを起動してメイン アクティビティのボタンをクリックするとクラッシュします。それがonClickの問題なのか、それとも何なのかはわかりませんでした。
package com.apw.games.rpg.medieval;
import java.util.ArrayList;
import java.util.Arrays;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import com.apw.games.rpg.medieval.*;
public class Expansions extends Activity {
private ListView mainListView ;
private ArrayAdapter<String> listAdapter ;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.expansions);
// Find the ListView resource.
mainListView = (ListView) findViewById( R.id.list_view );
// Create and populate a List of planet names.
String[] planets = new String[] { "Mercury", "Venus", "Earth", "Mars",
"Jupiter", "Saturn", "Uranus", "Neptune"};
ArrayList<String> planetList = new ArrayList<String>();
planetList.addAll( Arrays.asList(planets) );
listAdapter = new ArrayAdapter<String>(this, R.layout.simplerow, planetList);
// Add more planets. If you passed a String[] instead of a List<String>
// into the ArrayAdapter constructor, you must not add more items.
// Otherwise an exception will occur.
listAdapter.add( "Ceres" );
listAdapter.add( "Pluto" );
listAdapter.add( "Haumea" );
listAdapter.add( "Makemake" );
listAdapter.add( "Eris" );
mainListView.setAdapter( listAdapter );
}
}
可能であれば、エラーの場所を教えてください。修正を手伝ってください。