我實現了一個具有線性佈局和列表視圖的相對佈局。線性佈局包含一個圖像和一個按鈕。有沒有人可以幫助我?點擊這兩個監聽器都無法工作。線性佈局按鈕點擊不起作用
這裏是activity_main.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:background="#ffffff"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="fill_parent"
android:paddingTop="0dp"
android:id="@+id/ll"
android:layout_height="50dp"
android:background="#00897B"
android:orientation="horizontal"
android:weightSum="2"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true">
<Button
style="?android:attr/buttonStyleSmall"
android:background="#00897B"
android:layout_width="180dp"
android:layout_height="wrap_content"
android:textStyle="bold"
android:layout_weight="1.9"
android:textAllCaps="false"
android:layout_gravity="center_horizontal"
android:textSize="16dp"
android:textColor="#ffffff"
android:text="Register an event"
android:id="@+id/button"
android:layout_alignTop="@+id/listView"
android:layout_alignParentStart="true" />
<ImageView
android:layout_width="20dp"
android:layout_height="30dp"
android:layout_weight="0.1"
android:layout_marginTop="10dp"
android:background="@drawable/refr"
android:id="@+id/refresh"
android:onClick="ref"
android:layout_alignParentEnd="true"
android:layout_marginEnd="28dp"
android:layout_alignBottom="@+id/ll"
android:layout_alignParentTop="true" />
</LinearLayout>
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/listView"
android:paddingTop="60dp"
android:layout_below="@+id/ll"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:divider="#2196f3"
android:dividerHeight="3dp"
android:scrollbars="none"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
</RelativeLayout>
這裏是MainActivity.java
public class MainActivity extends Activity {
ListView lv;
Button bt1;
TextView tv1,tv2,tv3;
ArrayList<String> a=new ArrayList<String>();
ArrayList<String> b=new ArrayList<String>();
ArrayList<String> c=new ArrayList<String>();
ArrayList<String> d=new ArrayList<String>();
String mydata,name,name1,society,date,venue;
public String[] s1 = new String[50];
public String[] s2=new String[50];
public String[] s3=new String[50];
public String[] s4=new String[50];
public int[] img = {R.drawable.rty, R.drawable.sf, R.drawable.rty};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv1=(TextView)findViewById(R.id.textView);
lv = (ListView) findViewById(R.id.listView);
Button bt1=(Button)findViewById(R.id.button);
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent in=new Intent(MainActivity.this,webform.class);
startActivity(in);
}
});
ConnectionDetector cd = new ConnectionDetector(getApplicationContext());
Boolean isInternetPresent = cd.isConnectingToInternet(); // true or false
if(isInternetPresent) {
new MyData().execute();
}
else
Toast.makeText(MainActivity.this,"No Internet Connection",Toast.LENGTH_SHORT).show();
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent in = new Intent(MainActivity.this, listclick.class);
in.putExtra("position", position);
startActivity(in);
}
});
}
public void ref(View v)
{
ConnectionDetector cd = new ConnectionDetector(getApplicationContext());
Boolean isInternetPresent = cd.isConnectingToInternet();
if(isInternetPresent) {
new MyData().execute();
}
else
Toast.makeText(MainActivity.this,"No Internet Connection",Toast.LENGTH_SHORT).show();
}
public class MyData extends AsyncTask<String,String,String>
{
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
CustomAdapter cad = new CustomAdapter(MainActivity.this, s1, img,s2,s3,s4);
lv.setAdapter(cad);
cad.notifyDataSetChanged();
}
@Override
protected String doInBackground(String... params) {
getData();
return null;
}
}
public void getData()
{
try {
HttpClient httpClient=new DefaultHttpClient();
HttpPost httpPost=new HttpPost("http://collegeevents.esy.es/abc.php");
HttpResponse response=httpClient.execute(httpPost);
HttpEntity httpEntity=response.getEntity();
InputStream is=httpEntity.getContent();
BufferedReader reader=new BufferedReader(new InputStreamReader(is,"utf-8"),8);
StringBuilder strbuilder=new StringBuilder();
String line=null;
while ((line=reader.readLine())!=null)
{
strbuilder.append(line);
}
is.close();
mydata=strbuilder.toString();
JSONArray obj=new JSONArray(mydata);
a.clear();
b.clear();
c.clear();
d.clear();
for(int i=0;i<obj.length();i++)
{
JSONObject obj1=obj.getJSONObject(i);
a.add(i,obj1.getString("Name"));
b.add(i,obj1.getString("society"));
c.add(i,obj1.getString("venue"));
d.add(i,obj1.getString("date"));
}
String[] s = new String[a.size()];
s=a.toArray(s);
s1 = s;
String[] soc = new String[b.size()];
soc=b.toArray(soc);
s2 = soc;
String[] ven = new String[c.size()];
ven=c.toArray(ven);
s3 = ven;
String[] dat = new String[d.size()];
dat=d.toArray(dat);
s4 = dat;
}
catch (Exception e)
{
}
}
}
根本不需要那個LinearLayout。 –