我創建private ArrayList<String> values;
。在onCreate
方法(final ArrayList<String> values = new ArrayList<String>();
)中爲values
分配了一個值。另一種方法onOptionsItemSelected
嘗試使用values
,但後來發生NullPointerException
。在方法中調用私有最終變量時出現NullPointerException
全班是here,對不起,如果我的解釋很難理解。提前上線55
package org.sandholm.max.MCFriendsList;
import java.util.ArrayList;
import android.app.ListActivity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.os.Bundle;
import android.widget.Button;
import android.widget.ListView;
import android.widget.ArrayAdapter;
public class MCFriendsListActivity extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listactivity);
final ArrayList<String> values = new ArrayList<String>();
setListAdapter(new ArrayAdapter<String>(this, R.layout.listactivity, values));
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, values);
setListAdapter(adapter);
addUser = (Button) findViewById(R.id.button1);
addUser.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
values.add("vurp0");
adapter.notifyDataSetChanged();
}
});
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
String item = (String) getListAdapter().getItem(position);
Intent i = new Intent(v.getContext(), MCFriendsInfoActivity.class);
i.putExtra("uname", item);
v.getContext().startActivity(i);
}
@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.item1:
values.add("vurp0");
adapter.notifyDataSetChanged();
return true;
case R.id.item2:
//showHelp();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
private Button addUser;
private ArrayList<String> values;
private ArrayAdapter<String> adapter;
}
請告訴我,如果你需要更多的信息(儘管我對此表示懷疑),並感謝發生的異常。
謝謝,這是什麼工作。我想編寫代碼,我假設工作,並根據Eclipse的技巧糾正它並不總是工作...;) – vurp0 2011-12-25 20:03:24
太棒了!請記住標記回答您的問題爲接受:)。 – 2011-12-25 20:05:27