1

我在下面给出了我的代码。我只想在android中创建一个自定义对话框。每当我点击按钮时,它都会显示一个自定义对话框。我已经创建了一个xml“alert.xml”。点击按钮后我会显示string.xml 中的内容

  public class TriangleActivity extends Activity implements View.OnClickListener{
            /** Called when the activity is first created. */
            private Button bt;
            private Dialog dialog;
            @Override
            public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
                bt=(Button) findViewById(R.id.button1);
                bt.setOnClickListener(this);
                //Context mContext = getApplicationContext();
                dialog = new Dialog(TriangleActivity.this);
                dialog.setContentView(R.layout.alert);
                dialog.setTitle("This is my custom dialog box");
                TextView t=(TextView) findViewById(R.id.tv1);

                t.setText(getString(R.string.h));

            }
            public void onClick(View v)
            {

                dialog.show();
            }
        }

主要的.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" 
    >

    <Button
        android:id="@+id/button1"
        android:layout_width="60dp"
        android:layout_height="60dp"
        />


</LinearLayout>

警报.xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:scrollbars="vertical" >


    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:scrollbarAlwaysDrawVerticalTrack="true" >
        <TextView 
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:id="@+id/tv1" >           

        </TextView>
    </LinearLayout>


</ScrollView>

字符串.xml

<?xml version="1.0" encoding="utf-8"?>I am getting 
<resources>

    <string name="hello">Hello World, TriangleActivity!</string>
    <string name="app_name">Triangle</string>
     <string name="h">The Royal Society of Chemistry’s interactive periodic table which </string>

</resources>
4

5 回答 5

4

使用它来查找文本视图:

TextView t=(TextView)dialog.findViewById(R.id.tv1);
于 2012-05-22T04:22:51.487 回答
2
TextView t=(TextView)dialog.findViewById(R.id.tv1);

这是你的解决方案老兄

于 2012-05-22T04:16:37.573 回答
2

修改你的 textView 初始化..因为它无法找到对话框视图..所以这样做 -

TextView t=(TextView)dialog.findViewById(R.id.tv1);

希望对你有帮助..

于 2012-05-22T04:22:20.053 回答
1

如果 t.setText(getString(R.string.h)); 正在抛出异常 NullPointerException,这意味着 t 或 getString(R.string.h) 为空。t 可能为 null,如果 main.xml 没有带有 id、@+id/tv1 的 TextView。

于 2012-05-22T04:07:30.730 回答
0

TextView 文本 = (TextView)findviewByid(R.id.text1);

于 2012-05-22T04:52:42.317 回答