Java Android:将动画插入对话框
我想休息一下,使用对话框单击鼠标。在对话框中,我想嵌入小动画。我已经这样做了,但它显示了我的运行时错误Java Android:将动画插入对话框,java,android,xml,Java,Android,Xml,我想休息一下,使用对话框单击鼠标。在对话框中,我想嵌入小动画。我已经这样做了,但它显示了我的运行时错误 public class Basic extends Activity { final Context context = this; EditText inputSearch; private ListView lv; ArrayAdapter<String> adapter; AnimationDrawable frameAnimatio
public class Basic extends Activity {
final Context context = this;
EditText inputSearch;
private ListView lv;
ArrayAdapter<String> adapter;
AnimationDrawable frameAnimation;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_word);
// storing string resources into Array
String[] adobe_products = getResources().getStringArray(R.array.basic_words);
adapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.label, adobe_products);
Arrays.sort(adobe_products, String.CASE_INSENSITIVE_ORDER);
// ListView lv = getListView();
lv = (ListView) findViewById(R.id.list);
inputSearch = (EditText) findViewById(R.id.inputSearch);
lv.setAdapter(adapter);
inputSearch.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence cs, int arg1, int arg2, int arg3) {
// When user changed the Text
Basic.this.adapter.getFilter().filter(cs);
}
@Override
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable arg0) {
// TODO Auto-generated method stub
}
});
// listening to single list item on click
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String itemValue = (String) parent.getItemAtPosition(position);
final Dialog dialog = new Dialog(context);
switch (position) {
case 10:
dialog.setContentView(R.layout.anim);
ImageView image1 = (ImageView) dialog.findViewById(R.id.anim_image);
Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK);
dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK);
dialog.setTitle(itemValue);
image1.setImageResource(R.drawable.spin_animation);
frameAnimation = (AnimationDrawable) image1.getBackground();
// Start the animation (looped playback by default).
frameAnimation.start();
dialogButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
dialog.show();
}
}
});
}
}
我的布局:
<!-- language: 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="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"
tools:context=".MainActivity" >
<ImageView
android:id="@+id/anim_image"
android:layout_width="500sp"
android:layout_height="500sp"/>
</RelativeLayout>
您的问题从这里开始:
ImageView image1 = (ImageView) dialog.findViewById(R.id.anim_image);
确保所有findViewById()方法都返回您想要的结果。其中一些肯定返回null。有什么错误?显示您的logcat输出。请提供完整信息。此程序中使用的所有图像ID都存在于xml文件中。findViewById如何返回null?布局中没有dialogButtonOK。
ImageView image1 = (ImageView) dialog.findViewById(R.id.anim_image);