尝试使用
在我的应用程序中更改toast的背景和文本颜色LayoutInflater infator = getLayoutInflater();
View layout =infator.inflate(R.layout.toast, (ViewGroup) findViewById(R.id.toast_layout));
TextView toastText = (TextView) findViewById(R.id.toasttext);
toastText.setBackgroundColor(Color.YELLOW);
toastText.setText("uei:"+o.getUei());
Toast toast = new Toast(getApplicationContext());
toast.setDuration(Toast.LENGTH_LONG);
toast.setView(layout);
toast.show();
此代码存在于listview的OnItemClickListener中。
但应用程序因空指针异常而被强制关闭!!
这就是onclick听众所能提供的,它可以提供更好的画面。
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.alarms);
m_alarmAdapter = new AlarmAdapter(this, R.layout.severity_item, m_alarms);
setListAdapter(m_alarmAdapter);
ListView lv = getListView();
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(final AdapterView<?> parent, final View view, final int position, final long id) {
Log.d(TAG, "clicked: " + view);
final Alarm o = m_alarmAdapter.getItem(position);
LayoutInflater infator = getLayoutInflater();
答案 0 :(得分:1)
您要求当前视图查找toasttext
ID,而不是您刚刚加载的视图。试试layout.findViewById()
答案 1 :(得分:-1)
如果要为吐司设计创建XML布局文件,这将使其变得更加容易。在创建XML文件之后,您可以将其添加到Java代码中。这是如何创建自定义吐司的示例。