2016-11-06 8 views
-1

新しいコードをプログラムに追加する前に正しく実行されました。私はいくつかのメッセージを表示するためにlistViewを追加したかったが、うまくいきませんでした。なぜAndroidアプリケーションにlistViewを追加した後にクラッシュするのですか?

String[] studentList = {"zhangsan","lisi"}; 
    ListView stdListView = (ListView)findViewById(R.id.studentListView); 
    ArrayAdapter<String> arrayAdapter; 
    arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_2,studentList); 
    stdListView.setAdapter(arrayAdapter); 
    stdListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      String result = parent.getItemAtPosition(position).toString(); 
      AlertDialog.Builder choice = new AlertDialog.Builder(EditActivity.this); 
      choice.setTitle(result); 
     } 
    }); 

に:アプリケーションがこの活動に入ったとき、プログラムは私が追加 ...クラッシュ

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_edit); 

    String[] studentList = {"zhangsan","lisi"}; 
    ListView stdListView = (ListView)findViewById(R.id.studentListView); 
    ArrayAdapter<String> arrayAdapter; 
    arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_2,studentList); 
    stdListView.setAdapter(arrayAdapter); 
    stdListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      String result = parent.getItemAtPosition(position).toString(); 
      AlertDialog.Builder choice = new AlertDialog.Builder(EditActivity.this); 
      choice.setTitle(result); 
     } 
    }); 

    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, 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); 
} 

そして次は、レイアウトのXMLファイルです。 そして私は、コメントを追加しました:

<ListView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/studentListView" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" /> 

をする:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
app:layout_behavior="@string/appbar_scrolling_view_behavior" 
tools:context="n402lab.door.EditActivity" 
tools:showIn="@layout/app_bar_edit"> 

<ListView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/studentListView" 
    android:layout_alignParentRight="true" 
    android:layout_alignParentEnd="true" /> 
</RelativeLayout> 
+1

エラーメッセージとStackTraceを入力してください。 –

+0

これらの行を削除してみてください: 'NavigationView navigationView =(NavigationView)findViewById(R.id.nav_view);および' navigationView.setNavigationItemSelectedListener(this); ' –

+0

logcatを追加してください –

答えて

0

私はこの質問にコメントを見た後、私はそれを自分自身をデバッグしようとしました。その前に私はアプリケーションをデバッグする方法を知らなかった。 "TextViewのリソースIDを指定する必要があります" 解決策を探して、最後に "android.R.layout.simple_list_item_2" を "android.R.layout.simple_list_item_1" に置き換えて動作させます。どうもありがとう!

+0

素晴らしい答えthnk u iwll私はそれを使用する – NightSkyCode

関連する問題